zoukankan      html  css  js  c++  java
  • 面向对象深入:继承01——子类

    摘自《其实你应该这样学Java》

    11.1  什么是继承

    Java中的继承分为类的继承接口的继承两种,

    类的继承只支持单继承,就是子类只能有一个父亲类

    接口的继承可以是多重继承,可以有多个父亲类。

    11.2  子类

    11.2.2 子类的使用

    子类隐式包含父类的成员变量和方法,不用再写,这就是继承的优点。

    子类包含父类的成员,不是子类和父类共享成员,而是子类和父类中都能各自开辟空间,产生性质相同而又独立的成员变量和方法。

    11.2.3 子类的构造方法

    在子类创造对象时会执行子类的构造方法。

    因为子类继承自父类,所以在子类构造方法之前必须先执行父类的构造方法。

    在子类构造方法中第一条语句必须是调用父类的构造方法的语句,如果无此语句,则默认调用无参的父类构造方法。

    public class Example1102
    {
        public static void main(String [] args)
        {
            SonClass sc = new SonClass();
        }
    }
    
    class SuperClass
    {
        SuperClass()
        {
            System.out.println("Super");
        }
    }
    class SonClass extends SuperClass
    {
       SonClass()
       { 
            System.out.println("SubClass");
        }
    }       

    该程序由父类 SuperClass 和子类 SonClass 及主类组成。主类中只有生成子类对象的语句:

    SonClass sc = new SonClass();

    这条语句执行时,会调用子类构造方法;

    在子类构造方法中,第一条语句要执行父类构造方法

    上面子类中构造方法是隐式调用父类构造方法。(a. 隐式调用的是默认无参构造方法

    也可以b. 显示调用父类构造方法,通过语句super()来完成。

    如果要c. 调用父类的有参构造方法,则在super()的括号中加入所需的参数。

    d. 如果父类构造方法不带参数,则这样的显示调用可以省略,这种调用是由Java程序自动进行的(隐式调用)。

    e. 如果父类中没有无参的构造方法,只有一个或多个有参构造方法,则程序找不到默认无参方法,就一定要用super(参数a, 参数b, ...)调用父类构造方法

      1. public class Example1103
        {
            public static void main(String[] args)
            {
                SonClass sc = new SonClass();
            }
        }
        
        class SuperClass
        {
            SuperClass(int a, int b)
            {
                System.out.println(a+b);
            }
        }
        class SubClass extends SuperClass
        {
            SonClass()
            {
                super(1, 2);  //父类中是有参构造方法,需要super()
                System.out.println("SubClass");
            }
        }
  • 相关阅读:
    关于 setColorFilter 和 PorterDuff.Mode
    下拉刷新 SwipRefreshLayout
    from athletelist import AthleteList出现红色下滑波浪线警告
    IndentationError: unindent does not match any outer indentation level
    定制数据对象2
    定制数据对象
    数据处理02
    数据处理
    python 工具箱
    嵌套列表的格式打印
  • 原文地址:https://www.cnblogs.com/jolene-wu/p/8284386.html
Copyright © 2011-2022 走看看