面向对象编程之构造器的细节
构造函数基本上定义了两个规则。分别如下:
构造函数名必须与其类名称相同
构造函数必须没有显式返回类型
如果没有定义构造器,则会默认一个无参构造器。
默认构造函数的目的是根据类型为对象提供默认值,如:0,null等。
如果自定义了有参构造器,则会覆盖默认构造器。即默认构造器就不存在了,如果还想使用无参构造器,则必须显示的写出来!
与普通方法一样,构造器也支持重载。一个对象中是可以支持同时定义多个构造器,通过不同的参数列表来实现重载。经常看到代码中new一个对象时,有时传入参数,有时又可以不用传。比如:new People()跟new People(“张三”),这里就是重载了。
子类构造器会默认调用父类无参构造器,如果父类没有无参构造器,或者父类的无参构造器被有参构造器覆盖了,则必须在子类构造器的第一行通过 super关键字指定调用父类的哪个构造器
想用父类的哪个构造器,就去声明哪个
- 例子
所以构造器的执行顺序是从父类开始的。先执行父类构造器中的程序,再执行本子类构造器中的程序。