面向对象深入:继承01——子类

本文详细介绍了Java中的继承概念,包括类的单继承和接口的多重继承。重点解释了子类如何继承父类的成员变量和方法,并展示了子类构造方法如何调用父类构造方法的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘自《其实你应该这样学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");
          }
      }

       

转载于:https://www.cnblogs.com/jolene-wu/p/8284386.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值