Java,如何通过1个大类合并较小的类?

标签 java class

想象一下有以下类:

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/

相关文章:

ios - 从一个类调用方法并在另一个类中使用

c++ - C++类中的多维动态数组

javascript - meteor :如何导出类并在服务器上的另一个文件中使用

java - 有没有办法将存储在 XML 中的值数组读取到类型化 ArrayList 中?

java - Protobuf c# 到 java 反序列化多条消息

java - Struts2 正则表达式配置

java - 尝试在 virgo tomcat 中配置自定义 session 管理器时获取 ClassNotFoundException

javascript - Javascript 中的类 - 作为参数传递方法后属性未定义

java - 使用媒体播放器更新进度条

java - 我的主类中有大约 10k 行代码,我应该担心吗?