作者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
推 singlovesong:this.i++; 03/09 17:44
→ ssccg:為什麼你在run裡面知道直接用i,在change要用傳的... 03/09 18:42
推 coolcomm:change直接改superclass的i就好啦...幹嘛繞遠路... 03/09 18:55
推 luoqr:這寫法行數再多一點 我想連你自己都會看不懂了... 03/09 20:46