想象一下有以下类:
Head
Torso
Hands
Legs
我想保留它们,但通过新类Human
链接它们。他们的代码如下所示:
package myEntities;
public class Head {
private float headSize;
Head(float headSize) {
this.headSize = headSize;
}
public static void main(String[] args) { }
public float[] getHeadSize() {
return headSize;
}
}
对除名称之外的其他 3 部分重复相同的操作。如果我想做一个人类类(class),它会是什么样子?我在想这样的事情,但这似乎太重复了:
package myEntities;
public class Human {
private Head headObject = new Head(variable1);
private Torso torsoObject = new Torso(variable2);
private Leg rightLegObject = new Leg(variable3);
Human(float variable1, float variable2, float variable3) {
}
public static void main(String[] args) { }
这种方式会出现无法解析variable1
和其余变量的错误。
最佳答案
首先,在您的人类类中,构造函数应该是人类构造函数(不是 Zombie - Zombie 可以是父类(super class)、子类或完全独立的类)
public class Human {
Human(float variable1, float variable2, float variable3) {
}
}
其次,您需要像现在一样声明对象成员,但在构造函数中初始化它们
Human {
private Head headObject;
private Torso torsoObject;
private Leg rightLegObject;
public Human (float variable1, float variable2, float variable3) {
headObject = new Head(variable1);
torsoObject = new Torso(variable2);
rightLegObject = new Leg(variable3);
}
}
关于Java,如何通过1个大类合并较小的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58983122/