美文网首页
Java继承之构造器

Java继承之构造器

作者: 面包石头 | 来源:发表于2017-09-14 13:58 被阅读9次

1.无参构造方法

  • 父类
public class Person {
    private String name;
    public Person(){
        Log.i("Person constructor...");
    }
}
  • 子类
public class Man extends Person{
    public Man(){
        Log.i("Man constructor...");
    }
    public static void main(String[] args){
        new Man();
    }
}
  • 运行结果
sela->Person constructor...
sela->Man constructor...
  • 总结
    从父类到子类一级一级完成构建,子类不用手动调用super()

2.有参构造方法

  • 父类
public class Person {
    private String name;
    public Person(String name){
        this.name = name;
    }
}
  • 子类
public class Man extends Person{
    public Man(){
        Log.i("Man constructor...");
    }
    public static void main(String[] args){
        new Man();
    }
}
  • 结果
编译报错,提示Implicit super constructor Person() is undefined. Must 
explicitly invoke another constructor
  • 总结
    编译器会帮我们自动创建一个无参的构造方法,但是如果像我们这个父类中,添加一个有参数的构造方法,编译器会以为我们无需他的帮忙自动创建,但是子类里是需要的,所以会报错,解决方法为
public class Man extends Person{
    public Man(){
        super("");//添加这行
        Log.i("Man constructor...");
    }
    public static void main(String[] args){
        new Man();
    }
}

相关文章

  • Java继承之构造器

    1.无参构造方法 父类 子类 运行结果 总结从父类到子类一级一级完成构建,子类不用手动调用super() 2.有参...

  • java第一个月月考基础知识点整理

    一Java 1.Java继承子类会继承父类的属性 构造器 方法。但是private的属性虽然会被子类继承,但是只是...

  • 自定义异常类

    步骤:1.继承Exception2.创建构造器 代码: 参考资料:《Java编程思想》

  • 第六章 类再生 2018-10-11

    1.继承 若创建类的时候没有声明要继承的类,那么java就默认继承Object类。 1.1继承含有自变量构造器的类...

  • java中继承,子类是否继承父类的构造函数

    java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显...

  • scala-继承与特质

    继承与特质 继承 继承的概念 使用extends关键字: 构造器的执行顺序 Scala在继承的时候构造器的执行顺序...

  • Initialization in Swift

    简介 *自定义构造过程 *默认构造器 *值类型的构造器代理 *类的继承和构造过程 *可失败构造器 *必需构造器 *...

  • Java中的类的初始化执行流程

    一:Java执行流程,有继承关系无方法重载时 输出结果: 以下是来自<>:1.调用基类的构造器...

  • java基础

    1.java中继承,子类是否继承父类的构造函数

  • 继承

    子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。Java是单继承模式:一个类只能继承一个直接父类。Ja...

网友评论

      本文标题:Java继承之构造器

      本文链接:https://www.haomeiwen.com/subject/ekxdsxtx.html