根据java中子类重写父类方法的两小一大原则为何

2021-01-12 20:57:02 字数 1973 阅读 9343

1楼:我爱学

我觉得选b,重写时,子类的权限修饰符必须大于或等于父类的权限修饰符,a中private的访问权限小于父类protect的,

2楼:匿名用户

重写是参数列表返回类型不能变,访问权限可以更加宽松,但绝不能更严格。

这样子好像没答案……

3楼:懂了么

重写,就是选a啊,你去复习一下重写跟重载的区别吧

java中方法重写时,子类返回类型不能大于父类,这句话只针对类类型吗?

4楼:没id怎么办啊

其实你把俩方法写在同一类中也不行,或者说,父类int子类long也不行。也就是说,这已经不是继承和重写的问题了,而是,方法名和参数类型相同的返回类型分别为long和int的方法之间会存在矛盾吧。因为子类继承父类,所以相当于有父类中long方法,而自己又写了一个int方法,相当于子类中有俩方法,而这俩不能同时存在。

其实不是继承或重写的问题。

5楼:匿名用户

子类重写父类方法 返回类型必须与被重写方法的返回类型相同。

a、重写规则之一:

重写方法不能比被重写方法限制有更严格的访问级别。

b、重写规则之二:

参数列表必须与被重写方法的相同。

c、重写规则之三:

返回类型必须与被重写方法的返回类型相同。

d、重写规则之四:

重写方法不能抛出新的异常或者比被重写方法声明的检查异常更广的检查异常。但是可以抛出更少,更有限或者不抛出异常。

6楼:丶只求一人心

不管回答者是否回答到提问者的点上,提问者的态度都非常有问题。我觉得,别人给你解答是出于好心,就算是去网上粘贴的答案,别人觉得问的就是搜得到的问题,粘贴一下又有什么呢。最后,子类中方法的返回值类型可以是被重写方法类型的子类型。

给上一个回答者一个赞。

为什么子类重写父类的方法的访问修饰符,不能低于父类的方法访问权限?

7楼:匿名用户

重写也叫覆写,修饰符、返回类型、参数就是要和父类一摸一样才叫覆写,意思是说各个地方都需要完美的盖住,在面向接口编程中,重写是子类有自己的逻辑要实现,同时又不破坏已写好程序逻辑的好方法

举个例子,在父类中是public的方法,如果子类中将其降低访问权限为private,那么子类中重写以后的方法对于外部对象就不可访问了,这个就破坏了继承的含义

8楼:匿名用户

java中四种访问权限 private如果子去重写父的方法,方法的权限默认是和父一样的,但也可以改,但只能加大权限,不能缩小权限,比如父是protected,重写时可以改成public,但如果是public的,重写只能是public

9楼:红色警姐

权限问题嘛,子类的权限要大于或者等于父类的

10楼:╃原罪丶灬

额 不能通过访问的权限来重载,重写的时候访问修饰符的限制大于被访问者,public >pro>def>pri

11楼:我哭了浅笑

可以这样理解的 这是个授权问题 先说 为什么不能小于,如果你写小了

相当于/*相当于 其实不是*/你私吞了父类的方法内容自己又私自定义了一个方法,这样会有方法重名的问题(与继承的思想不符合,如果你私有了,这个方法就不能再传下去) ,再说 为什么可以大于父类权限 ,因为父类方法既然可以继承 拿它就应该具备传递性,所 以就可以 大于父类的权限,以更好发挥继承提高**复用率的功能;

12楼:匿名用户

java中的多态机制是:子类的实例可以赋值给父类的引用,通过调用父类的方法就可以直接调用到子类实例中的方法。

本来父类的方法是public的,此时如果有其他类调用了父类的该方法,而子类实例中的方法是private的,private只允许在该类内部使用,会导致调用失败。

Java中子类的访问权限为何比父类大

1楼 煮饭饭 因为只有这样,基类才一定可以用派生类代替。如果派生类的访问权限变小了,这个原则就没法成立了。 这个应该算是java世界的准则,就像大自然里光速是极限,1 1只能等于2一样。 没有规矩不成方圆,用脚玩的叫足球,用手玩的叫篮球,既然这个东西叫java,就得遵守规矩。 里氏代换原则 lisk...