有沒有辦法將一個類的實例變量設置爲另一個類的實例變量,並且當第二個類的實例變量發生變化時第一個類的實例變量也會隨着它的變化而改變嗎?這是我的狗類:將一個類的實例變量設置爲另一個類的實例變量,並且
public class Dog {
int size;
Dog(int size) {
this.size = size;
}
public static void main(String args[]) {
Cat cat = new Cat();
Dog dog = new Dog(cat.size);
System.out.println(dog.size);
cat.size = 17;
dog.size = cat.size;
System.out.println(dog.size);
}
}
這是我的貓類:
public class Cat {
int size = 5;
}
正如你所看到的,我必須讓出物體兩者的設置dog.size到cat.size 。有沒有辦法讓它在你創建對象之前,Dog類中的實例變量'size'被自動設置爲Cat類中的實例變量'size'?基本上,如果Cat類中的實例變量'size'被設置爲20,我希望我使用Dog類創建的每個對象的實例變量'size'也被設置爲20.我希望我的解釋不是太混亂。哦,而且,我知道你可以用繼承來做到這一點,但是我實際使用的類已經繼承了另一個類,所以我不能使用這種方法。如果有人知道任何其他方法,請讓我知道。謝謝。
爲什麼不在他們都繼承的類中有大小?使它成爲一個靜態變量將做到這一點。 – 2015-04-04 20:08:24
@ZiadHalabi狗只繼承一類,貓。並且讓實例變量static使得它不能創建那個變量的對象。 – Skillet 2015-04-04 20:10:08
這就是我的意思! – 2015-04-04 20:12:58