【发布时间】:2015-06-09 15:32:17
【问题描述】:
有没有办法将一个类的实例变量设置为另一个类的实例变量,当第二个类的实例变量发生变化时,第一个类的实例变量也随之变化,BEFORE make objects out哪一类?这是我的 Dog 课:
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。我希望我的解释不是太令人困惑。哦,而且,我知道你可以通过继承来做到这一点,但是我实际使用的类已经继承了另一个类,所以我不能使用那个方法。如果有人知道任何其他方法,请告诉我。谢谢你。
【问题讨论】:
-
为什么不在它们都继承的类中具有大小?将其设为静态变量即可。
-
@ZiadHalabi Dog 只继承了一个类 Cat。并且将实例变量设为静态,这样您就无法创建该变量的对象。
-
是的,我就是这个意思!
标签: java class object inheritance instance-variables