Java易错知识点总结(三)
2021/4/30 20:28:25
本文主要是介绍Java易错知识点总结(三),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java易错知识点总结系列:
Java易错知识点总结(一)
Java易错知识点总结(二)
Java易错知识点总结(三)
目录
Java易错知识点总结系列:
Java易错知识点总结(一)
Java易错知识点总结(二)
Java易错知识点总结(三)
1.访问限制修饰符在不同位置时 对应的访问性和继承性
2.访问限制修饰符访问权限排序
3.成员变量的隐藏
4.方法重写(方法覆盖)
方法重写的规则如下:
1.只能重写继承父类的方法
2.final、static修饰的方法不能被重写
3.父类中private修饰的方法不能被重写
4.重写的方法不能使用限制等级更高的权限修饰符
5.重写的方法必须有相同的参数列表
6.重写的方法必须返回相同的类型
5.final关键字
6.super关键字
7.上转型对象
1.访问限制修饰符在不同位置时 对应的访问性和继承性
权限 | 访问性 | 继承性 | |||
类内部 | 同包类内部 | 不同包类内部 | 同包子类 | 不同包子类 | |
public | √ | √ | √ | √ | √ |
protected | √ | √ | × | √ | √ |
友好(friendly) | √ | √ | × | √ | × |
private | √ | × | × | × | × |
2.访问限制修饰符访问权限排序
由高到低:public--protected-友好的--private
3.成员变量的隐藏
如果声明的成员变量的名字和从父类继承来的成员变量的名字相同(声明的类型可以不同),子类就会隐藏继承的成员变量。
4.方法重写(方法覆盖)
子类中定义一个方法,这个方法的类型和父类的方法的类型一致或者是父类的方法的类型的子类型,并且这个方法的名字、参数个数、参数的类型和父类的方法完全相同。
方法重写的规则如下:
-
1.只能重写继承父类的方法
重写方法体的内容
-
2.final、static修饰的方法不能被重写
-
3.父类中private修饰的方法不能被重写
-
4.重写的方法不能使用限制等级更高的权限修饰符
被重写的方法 | 重写的方法 |
public | public |
protected | public/protected |
友好 | public/protected/友好 |
-
5.重写的方法必须有相同的参数列表
-
6.重写的方法必须返回相同的类型
5.final关键字
- final可以修饰类,方法,变量
- final修饰的类不可以被继承(即final类不能有子类)
- final修饰的方法不可以被覆盖(重写)
- final修饰的变量是一个常量,只能被赋值一次
6.super关键字
super用法:
当子类和父类出现同名成员时,可以用super进行区分
- 子类调用父类构造函数时,可以使用super语句
- 由于子类不继承父类的构造方法,因此,子类在其构造方法中需要使用super来调用父类的构造方法。
- super必须是子类构造方法的第一条语句
- 如果不写super语句,则默认super();
super和this用法相像之处:
this代表本类对象的引用
super代表父类的内存空间的标识
7.上转型对象
上转型对象的用法如下:
class A{ void f(){ System.out.println("A中f方法"); } } class B extends A{ void f(){ System.out.println("B中f方法"); } } public class Test{ public static void main(String args[]){ A xx=new B(); //xx是B对象的上转型对象 xx.f(); } }
子类的上转型对象只能调用重写的方法,不能调用子类新增的方法
把上转型对象强制转化为子类的对象具体代码解释如下:
class Animal{ void f(String s){ System.out.println("A中f方法"+s); } } class Cat extends Animal{ void f(String s){ System.out.println("B中f方法"+s); } void eat(){ System.out.println("B中eat方法"); } } public class Test{ public static void main(String args[]){ Animal xx=new Cat(); xx是B对象的上转型对象 xx.f("上转型对象"); // xx.eat(); 子类的上转型对象只能调用重写的方法,不能调用子类新增的方法 Cat yy=(Cat)xx; 把上转型对象强制转化为子类的对象 yy.f("子类的对象"); } } 输出结果为: B中f方法上转型对象 B中f方法子类的对象
Java易错知识点总结系列:
Java易错知识点总结(一)
Java易错知识点总结(二)
Java易错知识点总结(三)
这篇关于Java易错知识点总结(三)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?