Java基础--- 构造函数和super关键字

Java基础--- 构造函数和super关键字,第1张

Java基础--- 构造函数和super关键字
  • 有参数构造函数和无参数构造函数
  • super关键字
  • Constructor Chaining
  • 如果一个类会被继承, 最好显性的写出无参构造函数

有参数构造函数和无参数构造函数

无参构造函数:

  • 在创建对象时自动调用无参构造函数

有参数构造函数

  • 一个类可以用很多有参构造函数, 也叫constructor overloading
  • 创建对象时, 根据参数类型和顺序判断调用哪个构造函数
  • 如果定义了有参构造函数, 则没有无参构造函数 除非显性的写出来
super关键字

使用super调用父类constructor

  • super(): The statement super() invokes the no-arg constructor of its superclass
  • super(argument): super(arguments) invokes the superclass constructor that matches the arguments

编译器自动调用super

  • 如果子类的constructor没有显示的调用父类的构造函数, 则编译器自动调用
Constructor Chaining


如果一个类会被继承, 最好显性的写出无参构造函数

  • 上图中Apple没有显性的定义构造函数,则Apple的无参构造函数会被调用
  • Apple的无参构造函数会自动调用Fruit的无参构造函数, 但是Fruit有定义有参构造函数,所以没有无参构造函数了
  • 所以需要在Fruit显性的定义无参构造函数.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/798990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存