java面向对象——继承 super this final 重载 重写 构造器

本文详细探讨了Java面向对象编程中的继承概念,解释了final关键字、this和super关键字的用法,以及重载和重写的区别。通过实例说明了构造器的作用,强调了构造器在类初始化中的关键角色,并阐述了final如何阻止继承和变量修改。同时,还介绍了方法和属性的重载与重写,以及如何利用构造器进行实例化和初始化。

继承
本质是扩充 new时会先new父类再new子类
特殊场景 :资源同名 只要无法区分 就近原则 先找本类再找父类
静态全局变量 常量池中只有一份 后面覆盖前面的 常量池也会初始化
this
表示自己 替换原则 表示调用的是自己的资源 从父类继承的也算
this只能调用普通方法
this.全局变量
this.本类的普通方法
super
表示直接父类的资源
super.直接父类的全局变量
super.直接父类的普通方法
this和super是不允许在静态方法中使用的,因为静态方法有自己独立的内存空间,跟this和super的方法没有任何关系
总结:this和super一般用于同名情况下 区分你要调用的资源 是自己的还是父类的
this和super永远只到堆中和私有方法区中寻找资源,表示栈中的局部变量
继承的本质就是扩充 关键字 extends 一旦继承 拥有父类所有资源

final
终极,从继承的角度看 停止家族延续
ctrl+t查看族谱 查看类的继承结构
final修饰类
final修饰全局变量 叫做常量 ,一定要初始化
一经定义 永远不能被修改
一般使用ststic 关键字加在final一起 让当前的全局变量放在常量池中,全部保持一份
final可以修饰方法、类 、全局变量
被final修饰的类 就叫做太监类,不能被继承
被final修饰的方法不能被重写
被final修饰的全局变量叫做常量,必须要有初始值,不能被修改,通常和static一起用,使常量放在常量池
同包下可以不用导包,java.lang包下面类是不用导包的,可以直接用

重载
同名不同意
方法名相同,方法的参数个数、顺序、类型不同构成重载
在一个类中可以允许使用同一个方法名,同名方法构成重载
使用场景:同类下
表现形式:方法名相同,方法的参数顺序,参数个数,参数类型不同 与返回值无关
在一个类中,只能出现一个同名同义的方法 与返回值无关
重构快捷键:选中方法–>alt+shift+t 即Refactor–>Extract Mathod提取方法内容到一个方法中去

重写
把父类的方法重新定义 父类的方法还在
重写方法的签名一定要完全保持一致,包括返回值
使用场景:父子类
重写不代表覆盖,重写只是一种扩充
alt+shift+s override :重写快捷键

构造器
也叫做构造方法,是一种特殊的方法
它要求和类名保持一致,没有返回值
new本质是一个运算符,用来执行构造方法,后面只能跟上构造器,目的是让jvm在堆中分配相应的内存
每个类都会有默认的构造方法,无参数的构造方法
如果自己定义了构造方法,就会把系统默认的构造方法覆盖掉(毁掉),毁掉之后我们必须得显示出来
构造方法的目的是配合new关键字使用,当new关键字后面接上构造方法,JVM帮助我们在堆里面分配相应的内存
构造方法初始化数据
可以把构造方法当作普通方法来看
构造方法不能被其他非构造方法嵌套,但是在构造方法中可以调用其他的普通方法
构造方法之间互相嵌套:
一定并且只能在第一行,因为它默认会有一个super
必须使用this或super互相调用

alt+shift+s->Generate getters and setters:创建get和set方法
source->format:格式化

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值