• Java 构造器Constructor 继承


    Java默认构造方法

    构造方法作用:初始化所定义的类的对象和属性。

    构造方法没有返回类型

     

    2 继承中的构造器

    子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)

    如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。

    如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。

    /*  Code   */

    class
    SuperClass { private int n; SuperClass(){ //父类的第一种构造方法,不带参 System.out.println("SuperClass()"); } SuperClass(int n) { //父类的第二种构造方法,带参 System.out.println("SuperClass(int n)"); this.n = n; } } class SubClass extends SuperClass{ private int n; SubClass(){ //子类的第一种构造方法,不带参 super(300); System.out.println("SubClass"); } public SubClass(int n){ //子类的第二种构造方法,带参 System.out.println("SubClass(int n):"+n); this.n = n; } } public class TestSuperSub{ public static void main (String args[]){ SubClass sc = new SubClass(); //对象sc没有参数,所以选择子类第一种构造方法。由于子类必须先调用父类的构造方法,且又显示的(用关键字super)调用了父类的第二种构造方法 SubClass sc2 = new SubClass(200); //对象sc2有参数,所以选择子类第二种构造方法。因为没有显示的调用父类的构造方法,所以系统隐式的调用父类无参构造方法 } }
    /*output*/
    SuperClass(int n) SubClass SuperClass() SubClass(int n):200

    解析:子类和父类都有多个构造方法,目的是根据对象中传入的参数类型自动选择该用的构造器。

  • 相关阅读:
    决策树算法之ID3
    MSE与MAE的区别与选择
    (九)关键变量发掘技术
    (八)数据集切割
    (七)数据精简之(数据值精简和字段的精简)
    (六)数据精简之(数据记录精简)
    (五)数据编码是干什么
    (四)数据清洗主要工作
    pip-window安装
    CMDB学习之六 --客户端请求测试,服务端api优化
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10161036.html
Copyright © 2020-2023  润新知