”extends“之令人恶心的构造器

来源:互联网 发布:*在c语言中是什么意思 编辑:程序博客网 时间:2024/06/10 04:04
 ”当子类没有现式的继承父类地构造器时,子类会默认的继承父类无参构造器,何为显式就是他娘的super();丫的,还必须放在构造器的第一行。“

public class ExtendsTest extends Motor{
 public String cylinder;
 public ExtendsTest()
 {
  //super(" ");
  System.out.println("子类无参构造器");
 }
 public ExtendsTest(String cylinder)
 {
  super(cylinder);
  System.out.println("子类带参构造器");
 }
 public static void main(String[] args) {

  ExtendsTest ex=new ExtendsTest();
  ExtendsTest e=new ExtendsTest("三菱摩托");
  
 }

}
class Motor
{
 public String type;
 public int topSpeed;
  public Motor()
 {
  System.out.println("父类无参构造器");
  
 }
 public Motor(String type)
 {
  System.out.println("父类带参构造器");
 }
}

输出结果为:

父类无参构造器
子类无参构造器
父类带参构造器
子类带参构造器