Java|学习|覆写,final,多态

本文介绍了Java中的覆写(Override)概念,包括其规则和注解@Override的使用;讲解了final关键字在类、方法和变量上的作用以及原因;详细阐述了多态、向上转型、向下转型以及里氏替换原则,并提到了Instanceof用于判断对象类型的特性。
摘要由CSDN通过智能技术生成

1.覆写

1.1 覆写

覆写 Override :子类对父类的方法进行覆写。一定要有继承关系。

方法名,参数列表,返回值都必须相同。

不能比原方法有更低的访问权限。

不能比原方法有更宽泛的异常。

1.2 覆写和重写的区别

重写 Overload 是方法重载,方法名相同但是参数列表不同。

1.3 注解Override

@Override 是覆写的注解,是一个源码注解,不会出现在编译后的字节码文件中。所以可写可不写,但是可以作为提醒机制,如果加上注解后覆写条件有误就会提醒报错。

2.final

2.1 final

final 修饰的类,不能被继承。

final 修饰的成员方法,不能被覆写。

final 修饰的变量,不能二次赋值,没有默认值,因此必须显式赋值。

final 修饰引用类型变量,变量值不可以变,但是变量指向的对象中的值如果没有 final 修饰是可以修改的。

2.2 被final修饰的类不能被继承的原因

子类实例化的时候,构造方法中是要调用父类的构造方法的。而一个类被 final 修饰后,类的构造方法无法被子类的 super() 访问到,因此无法继承。

2.3 final修饰引用类型

final 修饰引用类型变量,变量值不可以变,但是变量指向的对象中的值如果没有 final 修饰是可以修改的。

3.多态

3.1 多态

多态:父类引用指向子类对象。

多态又叫向上转型,由子类到父类,类似于自动类型转换。

向下转型,由父类到子类,但是需要注意:必须先发生向上转型,然后才能发生向下转型。

里氏替换原则:能使用父类的地方,一定可以使用子类。

使用多态时,编译看父类,运行看子类。即要看父类有没有这个变量或者方法,有这个变量或者方法才可以调用,调用时如果子类覆写了父类的成员方法,那么调用子类的成员方法,对于非成员方法,都调用父类的。

3.2 Instanceof

可以判断某个对象是否由某个类实例化而来。
格式:objName instanceof className;

如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值