this和super
this关键字
(1)this关键字代表本类对象的一个引用。
谁调用某个方法,那么,在这个方法内部,this就代表谁。
(2)this的使用场景
A:局部变量隐藏成员变量
B:在构造方法中,调用其他的构造方法。
**这个时候,this(参数)必须作为第一条语句存在。
继承(重点)
(1)把很多类的相同特征和行为进行抽取,用一个类来描述。让多个类和这个类产生一个关系。
这样的话,多个类就可以省略很多代码。这个关系就是继承。java中用extends关键字表示。
(2)继承的概述
A:被继承的类称为超类,父类,基类。
B:继承父类的类被称为子类,派生类。
C:格式
class Demo extends FuDemo
{
}
(3)继承的体系结构
A:多个具体的对象,不断的向上抽取共享的内容,最终形成了一个体系。这个体系叫做继承体系。
B:继承体系的学习和使用原则
**学习顶层的内容。因为他是整个体系的共性内容。
**创建子类使用。也就是使用底层的具体对象。
(4)继承的特点:
A:java中只能单继承,没有多继承。
B:java可以有多重(层)继承。 爷爷--父亲--儿子--孙子
(5)继承的代码体现。
class Fu
{
}
class Zi extends Fu
{
}
Zi z = new Zi();
用z对象操作。
(6)子父类中的成员关系
A:成员变量
在子类方法中使用一个变量时:
首先,在方法的局部变量中找这个变量,有则使用。
否则,在本类中找成员变量,有则使用。
否则,在父类中找成员变量,有则使用。
否则,报错。
B:成员方法
用子类对象使用一个方法时。
首先,在子类中找这个方法,有则使用。
否则,在父类中找这个方法,有则使用。
否则,报错。
当子父类中的方法名相同时的现象被称为重写。
重写和重载的区别?
重载:在同一类中。方法名相同,参数列表不同。
重写:在不同类中(子父类中)。
方法声明相同(返回类型,方法名,参数列表)。
重载可以改变返回类型。
重写需要注意:
**子类方法的访问权限要大于等于父类方法的访问权限。
**静态只能重写静态。一般不会出现。
C:构造方法
**子类的实例化过程
***子类创建对象时,会先去创建父类的对象。
默认是去调用父类的无参构造方法。
***子类构造方法中,第一行默认是super()
***为什么子类中第一行会默认有super()
因为他继承父类的成员使用,使用前这些成员必须初始化,
而他们是父类的成员,所以,必须通过父类进行初始化。
所以,会先创建一个父类的对象。
**当父类没有无参构造方法时
必须使用this或者super调用其他的构造方法。
(7)this和super的区别
this:代表本类对象的引用。
super:代表父类的存储空间。
用法很相似。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!