继承的一点问题
1、父类的构造方法不允许被继承,不允许被重写,为什么?
2、在子类里,this也可以调用父类的可以被访问的属性和方法,那么,它和super的区别在哪里?
3、为什么子类的访问修饰符要大于等于父类的访问修饰符?
4
收起
正在回答
1回答
你好!关于你的第一个和第三个问题,这两个都是Java的语法规则。如果你想问为什么java会这样进行设计,可以想一下,如果构造方法被继承,那么构造方法的名字和类名是相同的,这样的一个方法继承到子类中做什么用呢?是当做普通方法,还是当做子类的构造,因为和子类类名不同,所以肯定不能是子类构造,如果是普通方法,它又没有返回值,所以继承能有什么意义呢。可以在子类中通过super关键字为从父类继承的属性赋值。
关于子类访问修饰符要大于等于父类的问题,这个也是想让子类覆盖方法,覆盖就是把原来的方法包括进来,而不是进行了更严格的限制。
2、关于第二个问题,this和super肯定是不同的,this是用来访问当前类的方法和属性,而super是用来访问父类的。可以看一下我之前对你的问题的回复。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星