多态,构造方法
1|0多态,构造方法
具有多个不同形态的表现形式,父类引用指向子类对象,父new子
1|1使用多态访问成员变量
直接访问成员变量
看等于号左边是谁,优先使用,没有则向上找
间接通过方法访问成员变量
看方法属于谁,优先使用,没有则向上找,如果子类重写方法,就是子,没有重写就是父
1|2多态的好处
- 无论右边new的哪个子类,等于号左边在调用的时候方法不需要变化
- 使代码更加的简单简洁,并具有良好的扩展性
1|3多态的转型
向上转型
向下转型
1|4权限修饰符
final:代表最终,不可改变
修饰成员变量:值不能改变,必须赋初始值
修饰局部变量:值不能改变
修饰类:不能有子类
修饰方法:不能被重写
(修饰对象):内存地址锁定
public(公开的) | protected(受保护的) | default(默认,不能写) | private(私有的) | |
---|---|---|---|---|
同一类中 | Yes | Yes | Yes | Yes |
同一包中(子类和无关类) | Yes | Yes | Yes | |
不同包的子类 | Yes | Yes | ||
不同包的无关类 | Yes |
成员变量使用private
方法受用public,便于调用
构造方法使用public,方便创建对象
1|5构造方法
- 在创建对象的时候会自动调用构造方法,如果没有自定义构造方法,那么JVM会自动创建一个空参构造
- 当自定义了构造方法以后,JVM将不会自动创建空参构造方法
- 构造方法没有返回值,也不需要写返回值,因为这个方法就是来创建对象的,创建完对象,方法就会结束
- 构造方法名字必须和类名完全一致
- 构造方法是可以重载出现的
- 构造方法能被修饰为private,作用就是为了阻止该类创建对象
1|6构造方法和普通方法的区别
- 构造方法在创建对象的时候会自动调用,并且只执行一次
- 普通方法需要手动调用,可以使用多次
构造方法之间是可以进行调用的,但是不能直接写方法名,写this();
1|7子类调用父类构造方法
默认直接调用,隐式代码super();
但是this()和super()同时存在会报错,因为this()和super()必须都在代码的第一行;
__EOF__
作 者:YXH
出 处:https://www.cnblogs.com/YxinHaaa/p/17366470.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了