title: Why does Parcelable work even though I did not implement the necessary functions?
body: <p>I wanted to retain a complex java object during screen rotation, so I made the object Parcelable and implemented necessary methods:</p>
  <ol>
  <li>in writeToParcel(Parcel dest, int flags) method, I some saved values to &quot;dest&quot;.</li>
  <li>in Parcelable.Creator's createFromParcel(Parcel source) method, I obtained the values from &quot;source&quot; in correct order and returned the appropriate object.</li>
  </ol>
  <p>Then in Fragment's onSaveInstanceState I saved the Parcelable :</p>
  <pre><code>@Override
  public void onSaveInstanceState(Bundle outState) {
      super.onSaveInstanceState(outState);
      outState.putParcelable(&quot;myObject&quot;, myObject);
  }
  </code></pre>
  <p>and got my object in Fragment's onCreate :</p>
  <pre><code>@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    MyObject myObject = savedInstanceState.getParcelable(&quot;myObject&quot;);
  }
  </code></pre>
  <p>This worked Perfectly.</p>
  <p>Then I made the following test:</p>
  <ol>
  <li>Deleted all my code in writeToParcel method.</li>
  <li>Returned null in createFramParcel method.</li>
  </ol>
  <p>When I ran the app I got THE EXACT SAME RESULT! I got an object with all the appropriate values in it.</p>
  <p>Why did this work? Does Parcelable create Parcelable objects &quot;automatically&quot;?</p>