Java特性——继承

本文深入探讨了Java中的继承特性,阐述了继承的本质是类的抽象和扩展,通过`extends`关键字实现子类对父类的拓展。举例展示了子类如何继承父类的public方法和属性,并说明了private成员的访问规则。同时,提到了Java中的单继承特性,即一个子类只能有一个父类,但父类可以有多个子类。最后,讨论了对象的`isa`关系以及所有类默认继承自`Object`类。
摘要由CSDN通过智能技术生成

Java特性——继承

继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。即对类进一步抽象。

entends——子类是对父类的拓展

**继承:即扩展,子类为父类的扩展 **

​ 父类

​ ↓ ↓

​ 子类1 子类2

​ ↓ ↓ ↓ ↓

​ 对象1 对象2 对象3 对象4

子类:继承父类,即父类的派生类

  1. 继承是类与类之间的关系,类与类之间的关系还有:依赖、组合、聚类

  2. 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,用extends表示

    public class Student extends Person {

    }

  3. 子类与父类间从实际上讲为"is a"的关系

子类会继承父类的所有方法/属性:前提:修饰符为public时

对父类私有private的方法/属性而言:不能被子类拥有

默认权限:default,另有protected

优先级:public > protected > default > private

对private的属性而言,子类可以通过public的get/set方法类获取父类的private的属性。如:父亲私有的钱,子类不能直接继承,但是可以通过父亲留下的public方法来get/set这笔私有的钱

一般就属性是私有的

//Person类
public class Person {
    public int money = 10_0000_0000;
    public void say(){
        System.out.println("说了一句话");
    }
}

//学生is人
public class Student extends Person {

}


//直接调用Student
public class Application {
    public static void main(String[] args) {
        Student student = new Student();
        student.say();//此处student继承了父类Person的say方法
        System.out.println(student.money);
    }
}

//输出:说了一句话
		1000000000
//Person类
public class Person {
    private int money = 10_0000_0000;

    public int getMoney() {
        return this.money;
    }

    public void setMoney(int money) {
        this.money = money;
    }

    public void say(){
        System.out.println("说了一句话");
    }
}


public class Application {
    public static void main(String[] args) {
        Student student = new Student();
        student.say();//此处student继承了父类Person的say方法
        System.out.println(student.getMoney());
    }
}
//结果一致

快捷键:ctrl + H

可以查看当前窗口程序的类的继承关系树(当前类的子类、父类)

object类:默认初始存在的,java中的所有的类都默认直接(自定义的父类)或间接(自定义的子类)继承object类

为java.lang包下的;object可理解为java中类的祖先

//Person类
public class Person {

}

public class Application {
    public static void main(String[] args) {
        Person person = new Person();
        person.//此处可调用object中的方法,即继承object类
    }
}

java中只有单继承,即一个子类只能有一个父类,而父类可以有多个子类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值