【问题标题】:Creating an object with a default constructor使用默认构造函数创建对象
【发布时间】:2010-10-15 23:03:29
【问题描述】:

所以说我有这门课:

public class PositionList {
    private Position[] data = new Position[0];
    private int size = 0;

现在假设我使用默认构造函数创建了一个新的 PositionList 对象,所以没有像这样的参数:

PositionList list = new PositionList();

新的列表对象有任何属性吗?它有大小组件还是数据组件?它有什么特点?

【问题讨论】:

    标签: java constructor object


    【解决方案1】:

    是的,它将使用您的初始化程序。所以size 将为零(它是默认值,因此将其设置为 0 是多余的),data 将是一个包含 0 个元素的数组(与 null 不同)。

    【讨论】:

    【解决方案2】:

    它具有私有数据和大小字段,但您无法从课堂外访问这些字段。任何公开的内容都可以访问。

    【讨论】:

      【解决方案3】:

      是的,它有成员 datasize,它们占用空间。当您使用默认 ctor 构造对象时,所有成员均使用其默认 ctor 构造。

      【讨论】:

        【解决方案4】:

        在任何构造函数调用(默认或其他)之前,您对象的所有实例变量(例如数据和大小)都将被初始化为其默认值。对于对象和数组,这是 null,对于数字类型,它是 0 或 0.0,对于布尔类型,它是 false。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-02-20
          • 2017-08-21
          • 1970-01-01
          • 2018-01-22
          • 2020-12-07
          • 2018-10-02
          • 2016-02-13
          • 1970-01-01
          相关资源
          最近更新 更多