【发布时间】:2014-07-10 04:07:07
【问题描述】:
例如,有两个类
class B extends A { public int x; };
在 AIDL 中:
public void func( inout A params ); // the function does not change B.x value
然后有如下代码:
B objB;
objB.x = 99;
IObject.func( objB );
当代码执行时,objB.x 将被更改(不是 99),因为“func”函数只返回了 objB 的 A 部分,objB.x 将获得一个默认值(大多数是 0)。
我的问题:
如果“func”函数不改变B.x值,如何使objB.x保持不变?
【问题讨论】:
-
对于常量,你可以将其声明为静态最终
-
@mona 但 objB.x 在其他情况下可能会改变。我只是希望它在这种情况下保持不变。
-
所以只在 func 中你不想改变 B.x?
-
在func B.x中不会改变,我不想在func的调用者中改变B.x