面向对象之继承

Java中的继承允许子类重用父类的属性和方法,提高代码复用性。子类通过extends关键字继承父类,并可通过super关键字访问父类成员。Java实行单继承机制,但支持多层继承。super在构造器中用于调用父类特定构造器,且必须位于首行。

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

1.基本介绍

​ 继承可以解决代码复用的问题,一个类可以继承一个类,被继承的类我们称之为【父类】或者【超类】,另一个类称之为【子类】也叫【派生类】,子类可以通过extends关键字轻松拥有获取父类的成员变量和成员方法的能力,除了被private修饰的。在java中是单继承的,这样可以规范代码的实现。

​ 继承其实很好理解的,我们天生就会继承来自父母的很多基因,那爸爸的很多能力或者特征你天生就会拥有。

以代码的方式帮助理解为:

// 定义一个父亲类,有名字属性和一个吃的方法
public class Father {
    private String name;
    
    public void eat(){
        System.out.println("I am eating!");
    }
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

// 子类使用extends关键字
public class SonONe extends Father {
}

// 子类使用extends关键字
public class SonTwo extends Father {
}
现在无论哪个子类都能调用父类的方法:

public static void main(String[] args) {
    SonONe  sonONe = new SonONe();
    sonONe.eat();
}

 

当然,儿子作为一个单独的个体,它依然可以拥有属于自己的属性和方法。

public class SonONe extends Father {
    public void play(){
        System.out.println("I am playing!");
    }
}
经过这样的设计,我们的代码实现起来可以十分的灵活。

2、super关键字

super代表指向父类实例的引用。

(1)使用super调用父类的方法和属性

在子类中调用父类的非私有属性和方法时,大致的过程如下:

1.先在当前类中寻找。

2.当前类没有,继续向父类中寻找。

3.如果还是没有,就向父类的父类继续寻找。

4.直到到达一个所有类的共同父类,他叫Object。

总结一下:

5.子类继承了父类所有的非私有的属性和方法,可以直接调用。

6.子类在构造的时候,一定会构造一个父类,默认调用父类的无参构造器。

7.子类如果希望指定去调用父类的某个构造器, 则显式的调用一下 : super(参数列表)

8.super和this当做构造器使用时, 必须放在构造器第一行,所以只能二选一。

9.java 所有类都是 Object 类的子类, Object 是所有类的基类.

10.子类最多只能继承一个父类(指直接继承), java 中是单继承机制,我们可以使用连续继承来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值