zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    JavaScript之作用域和闭包
    mui.openWindow的html5+和web传参的兼容
    HTML5地理定位-Geolocation API
    wepy 编译警告去除办法
    Angular网络请求的封装
    网页资源加载的优化方法
    小DEMO之manifest初体验
    HDU 2846 Repository (字典树 后缀建树)
    mongodb适用和不适用的应用场景
    Codeforces 240E. Road Repairs 最小树形图+输出路径
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10161036.html
Copyright © 2011-2022 走看看