java学习笔记-final实例变量+无参构造函数

文章标签: java学习
2016-3-31 15:53:20     131 人阅读    

距离完成Employee类还有一步:我们需要提供一个构造函数,细节见如下章节。

final实例变量
你可以将实例变量声明为final。这样的变量必须在所有的构造函数末尾初始 化。之后,该变量也许不会再次被修改。例如,Employee类的name变量可能被声明 为final,因为对象构造之后,name再也不会改变  没有setName方法。
public class Employee {
private final String name;

}
注意:当使用可修改对象的引用时,final修饰符只是声明该引用永不改变。修 改对象自身是完全合法的。

说明: I:\Users\jlins\AppData\Local\Temp\FineReader12.00\media\image30.jpegpublic class Person {
private final ArrayList<Person> friends = new ArrayList<>();
//可以给该数组列表添加元素

}
方法可能修改friends引用的数组列表,但是它们不能用其他对象替代。特别 是,friends不能变为null。

2.3.7无参构造函数
许多类包含一个没有参数的构造函数,该构造函数创建一个状态为适当默认值的 对象。例如,下面是Employee类的一个无参构造函数:

public Employee() { name =""; salary = 0;
}
如同给每个贫穷的被告指定一名公共辩护人一样,系统会自动给没有构造函数 的类指定一个什么也不做的无参构造函数。所有的实例变量都是它们的默认值(0、 false或者null),除非它们被明确初始化。
因此,所有的类都至少有一个构造函数。

说明: I:\Users\jlins\AppData\Local\Temp\FineReader12.00\media\image31.jpeg说明: I:\Users\jlins\AppData\Local\Temp\FineReader12.00\media\image32.jpeg注意:如果一个类已经有一个构造函数,则系统不会自动再给它一个无参的构 造函数。如果你提供一个构造函数并且还想要无参的构造函数,则你必须自己 写一个构造函数。

注意:在前面的小节中,你看到当构造一个对象时,发生了什么。在一些编程 语言中,尤其是C++,通常要指定对象析构时发生什么。当垃圾回收器回收对象 时,Java也有一种“终结”对象的机制。但是它发生的时间不可预测,所以你
不应该使用。但是,正如你将会在第5章看到的,有一种关闭资源(例如文件资 源)的机制。


原文地址:http://www.itmmd.com/201603/787.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

css实现强制不换行/自动换行/强制换行   上一篇
下一篇  java读书笔记-构造对象-重载-调用另一个对象

精彩回复
发表评论
姓名: