如何解决在 Java 中,为什么要在构造函数之外初始化一个数据字段,然后在构造函数中给它一个不同的值?
我正在阅读 Koffman 和 Wolfgang 的数据结构,在他们的 ArrayList 实现中,他们在构造函数之外初始化一个数据字段,然后在构造函数中给它一个不同的值。
public class KWArrayList {
private static final int INITIAL_CAPACITY = 10;
private int capacity = 0;
public KWArrayList() {
capacity = INITIAL_CAPACITY;
}
}
为什么他们在构造函数之外将 capacity
初始化为 0
,然后在构造函数中赋予它不同的值?
解决方法
在这个特定的例子中,当唯一的构造函数将值设置为常量 10 时,默认为零是没有意义的。没有伤害,但也没有好处。
正如其他人评论的那样,您的教科书中可能会有更多内容,将此类和子类发展到默认值为零的程度。
然而……默认值为零尤其没有意义,因为原始 int
自动默认为零。一个可能的好处是编写程序可以向任何阅读程序员明确说明零确实是他们预期的默认值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。