我想知道Java中的抽象類中的對象變量會發生什麼。例如,如果有這樣的抽象類:Java中的抽象類及其對象變量
public abstract class BaseClass{
private int[] myNumbers;
public Baseclass(int length){
myNumbers = new int[length];
}
public boolean isOne(int index){
return myNumbers[index] == 1;
}
}
和我有它擴展BaseClass的這個現實類:
public class ArrayClass extends BaseClass{
private int[] myNumbers; //i have to define it again?
public ArrayClass(int length){
super(length); //does this affect my array? I don't think so
}
public void setValue(int index, int value){
if(!isOne(index))
myNumbers[index] = value;
}
}
我想在我的BaseClass
定義基本操作,並做一些其他的東西在我的正常ArrayClass
。因爲我需要一個array
在我的BaseClass
我必須定義一個以不同的方法(顯然)使用它。
但在我的ArrayClass
其中延伸BaseClass
我必須定義另一個數組。我不確定這是爲什麼,如果它需要這樣?我希望你明白我的意思。例如我可以利用BaseClass
的第二時間該正常類:
public class ArrayClass2 extends BaseClass{
private int[] myNumbers;
public ArrayClass2(int length){
super(length);
}
public int getValue(int index){
if(!isOne(index))
return myNumbers[index];
else
return 1;
}
}
我相信你已經閱讀過關於Java中'private'的含義,但如果不是的話 - 這個搜索可能對你有幫助 - https://www.bing.com/search?q=java+private –