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

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

  • 相关阅读:
    CentOS 7.3 系统安装配置图解教程
    图床神器:七牛云 + Mpic + FScapture
    Markdown 使用教程
    Python小游戏、小程序
    深入理解Python中的yield和send
    替代crontab,任务计划统一集中管理系统cronsun简介
    变量命名神器Codelf
    Spring Aspect实现AOP切面
    SpringCloud之注册中心Eureka搭建
    SpringCloud中eureka配置心跳和剔除下线的服务的时间
  • 原文地址:https://www.cnblogs.com/JohnTeslaaa/p/10161036.html
Copyright © 2011-2022 走看看