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

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

  • 相关阅读:
    《数据结构第一章复习》
    《图的基本操作》
    《矩阵的一些基本操作》
    <矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>
    《两个二维数组(矩阵)相乘》
    C#隐藏与显示系统任务栏和开始菜单栏按钮
    C#通过窗体属性缩小一定尺寸时,无法再缩小窗体尺寸问题
    C#一个窗体调用另一个窗体的方法
    C#异步线程
    C#中MessageBox.Show问题(让提示窗口不显示在任务栏中)
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10161036.html
Copyright © 2011-2022 走看看