title: Polymorphic in AIDL inout param
body: <p>for example, there are two classes</p>
  
  <pre><code>class B extends A { public int x; };
  </code></pre>
  
  <p>in AIDL:</p>
  
  <pre><code>public void func( inout A params ); // the function does not change B.x value
  </code></pre>
  
  <p>then there is the following code:</p>
  
  <pre><code>B objB;
  objB.x = 99;
  IObject.func( objB );
  </code></pre>
  
  <p>when the code exectued, objB.x will be changed( not 99 ) since the "func" function only returned the part A of objB, objB.x will get a default value( most are 0 ).</p>
  
  <p>My question:</p>
  
  <p>How to make objB.x be constant if "func" function does not change B.x value?</p>