关于构造函数,需要掌握的:
基本概念
构造函数是一个(或多个)特别的方法,在对象创建时自动调用。
构造函数的名字必须和类名一样。
构造函数没有返回值,因为它只会在对象创建时用到。
构造函数重载
构造函数有多个时,它们的签名(即方法的参数类型、数量、位置)必须不同。
构造函数有多个时,只会执行其中的一个。
构造函数有多个时,一个构造函数中可以通过 this(...); 语句来调用另一个构造函数,该语句必须是函数的第一行。
缺省构造函数
不带参数的构造函数称作“缺省构造函数”。
没有其他构造函数时,缺省构造函数不需要写出来。
有多个构造函数时,如果需要缺省构造函数,就必须要写出来,否则该类就是“没有缺省构造函数”的。
构造函数与继承
父类的构造函数会比子类的构造函数先调用。
当父类有多个构造函数时,子类的构造函数中可以通过 super(...); 语句来选择使用哪个父类的构造函数。同样的,该语句必须是函数的第一行。
如果子类没有选择使用父类的哪个构造函数,那么系统会调用父类的缺省构造函数。
如果父类没有缺省构造函数,那么子类的构造函数中必须通过 super(...); 来选择使用哪个父类的构造函数。
构造函数可见性
构造函数可以被 public/protected/private 修饰,其含义与一般方法一样。
private 构造函数不能被子类和其他类调用。
只有在构造函数的可见范围内才能使用 new 关键字来调用它。例如某构造函数为 private,则该构造函数只能在该类内部使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。