作者warren4145 (warren)
看板java
标题[问题] 继承及变数问题
时间Sat Mar 9 16:35:18 2013
假设我有几个class如下
public class main {
public static void main(String[] args) {
// TODO Auto-generated method stub
class2 c2 =new class2();
c2.run();
}
}
public class class1{
protected int i;
class1(){
i=2;
}
}
public class class2 extends class1 {
class2(){
}
private void change(int i){
++i;
System.out.println("change i:"+ i);
}
public void run(){
change(i);
System.out.println("c2 i:"+i);
}
}
我用class1放我想放的变数
用class2去继承class1
在main中使用class2 run method
可是我在class2中想要写一个method来修改i
但是传进去的变数在改变值离开後
到了外面值还是原本的
想问一下java 有call by reference的机制吗
还是只能全部写在同一个method内了?
麻烦大家帮忙解惑一下 感激不尽~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 119.14.239.33
1F:推 singlovesong:this.i++; 03/09 17:44
2F:→ ssccg:为什麽你在run里面知道直接用i,在change要用传的... 03/09 18:42
3F:推 coolcomm:change直接改superclass的i就好啦...干嘛绕远路... 03/09 18:55
4F:推 luoqr:这写法行数再多一点 我想连你自己都会看不懂了... 03/09 20:46