永发信息网

子类覆盖了父类的一个public方法,则此方法在子类中可以使用private修饰符吗

答案:5  悬赏:50  手机版
解决时间 2021-03-19 08:36
  • 提问者网友:你独家记忆
  • 2021-03-18 19:47
还是任何修饰符都可以用呢?
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-03-18 20:43
方法的重写必须满足以下要求(从方法的五要素来分析):
(1)要有继承;
(2)方法名,参数列表要相同;
(3)访问修饰符不能比父类窄;
也就是说,父类的public方法在重写时,访问修饰符必须是public,因为public的范围最大,否则就不构成方法的重写,例如:对于父类protected的方法,在重写时可以用protected或public来修饰。
(4)抛出的异常不能比父类更宽泛;
(5)返回类型要比父类的小或相同。
只有满足以上五个要求才符合方法的重写
全部回答
  • 1楼网友:由着我着迷
  • 2021-03-19 00:38
5的返回类型只能与父类相同吧
  • 2楼网友:人類模型
  • 2021-03-18 23:26

派生类不能缩小基类的访问权限!在c#或java中都是一样的!

访问权限的级别是private<默认<protected<public

  • 3楼网友:爱难随人意
  • 2021-03-18 23:09
重写父类方法时不能升高权限。而且private是不可能的。因为父类如果有一个private方法。那这个方法是不能被重写的。权限等级,从低到高是:private -> 不写 -> protected -> public.
  • 4楼网友:夜风逐马
  • 2021-03-18 21:52
不可以啊,你应该知道重写一个方法要与父类的方法要一致吧? 方法的内容可以改变 修饰符那是当然不可以。 比如你去街边买了个游戏机,你买回家,打开包装盒,发现是坏的,那当然要换吧。好,你拿去换(重写) 老板第一眼看到的肯定是个包装盒子,(修饰符)好。看到包装盒知道这个游戏机是他卖的,那当然可以换,对吧?(内容可以改) 要是你的游戏机盒(修饰符)不同,人家叼都不叼你,你说是吧?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯