继承
继承
-
类是对一类事物的抽象,比如:老师,学生
继承的本质是对类的抽象(父类是对子类的抽象),比如:它把老师类,学生类抽象出了人,人这个类拥有学生和老师类的共同特征,是一个更高的类
我觉得不如这样说:在这里,像人这样更高的类被称为父类,像学生,老师这样更低的类被称为子类
所以父类是很多子类的抽象,他拥有子类的共同特征,于是可以让子类继承父类的所有财产,并扩展自己的特点,所以子类即拥有父类的所有特点,又拥有自身独有的特点
-
extends关键字:我理解为继承,子类继承父类,用extends来表示
-
继承是类和类之间的关系,除此之外,类和类之间的关系还有依赖,组合,聚合等
举例说明:
人(父类)
public class Person {
public int money;
public void say(){
System.out.println("说了一句话");
}
}
学生(子类)
//空的
public class student extends Person {
}
执行类:
//student类中明明什么都没写,但是调用到了say方法,说明student类继承了Person类,子类会继承父类的所有财产,除此之外,他自己还有自己的方法,属性,它拓展了父类
public class zhixing {
public static void main(String[] args) {
student student = new student();
student.say();
}
}
-
开启继承树的快捷键:点在一个类中,Ctrl+H,类的继承关系树状图就展示出来了
在Java中,所有的类都默认直接或间接继承object类
-
我们现在要思考一个问题:
按照继承,我们只有继承了一个类,才会拥有这个类的财产(方法和属性),那为什么我们好像并没有继承什么类,但我们的类就可以调用很多我们不知道的方法,这些方法是哪里来的呐?
-
回答:原来在Java中,所有的类都默认直接或间接的继承object类,object类就是所有类的父类,是对所有子类的抽象,也就是Java中所有的类,抽取出他们的共同特性,所以我们的类默认都是继承object类的,我们可以调用的属性方法也都是属于object类
-
我们还要思考一个问题:为什么我们没有创建对象,就不能调用object类中的一些属性和方法呐?
-
回答:因为只有静态(static)的属性和方法才可以直接被类调用,非静态的属性和方法都需要new一个对象,才可以被调用
-
-
Java中只有单继承,没有多继承,类可以直接的继承一个,但可以间接的继承多个。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?