有没有一种方法可以将一个类的实例变量设置为另一类的实例变量,并且当第二个类的实例变量更改时,第一个类的实例变量也随之更改,然后再使对象脱离这两个类?这是我的狗班:
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。我希望我的解释不是太令人困惑。哦,而且,我知道您可以通过继承来做到这一点,但是我实际使用的类已经在继承另一个类,因此我不能使用该方法。如果有人知道其他方法,请告诉我。谢谢你。
我很难理解您的意思,但我想我知道您在说什么。
每次Cat's 'size' variable is changed, change every Dog's 'size' variable
。如果是这种情况,请使用列表存储Dog
您的Cat
类可以访问的所有实例。
// from java.util package.
List<Dog> dogs = new ArrayList<>();
在您的Cat
课程中,您将需要一个方法来处理这两件事:
public void setSize(int size) {
// Set cat's size to size,
// Get your java.util.List of dogs,
// loop through them, and set each of their
// size to the new size as well.
}
另外,请注意,每次创建时Dog
,都需要将其添加到dogs
列表中。
-或者-
遵循人们在评论中所说的话,并使用static
成员而不是instance
成员。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句