- 主题:重载私有方法会有什么后果
你访问不了父类的private方法,要想访问到,父类得用protected
【 在 qlogic (戒网了) 的大作中提到: 】
: class A{
: private void foo();
: public void bar() {foo();}
: }
--
FROM 111.193.122.*
首先,那个注解是@override ,不是overload,而且也是修饰的foo,因为在foo的前面而不是在bar的前边
【 在 iwannabe (I wanna be) 的大作中提到: 】
: 不仅能编译,而且能运行
: overload修饰的foo,而是bar
: 【 在 qblyy (新的昵称) 的大作中提到: 】
: : 首先,这代码不改是编译不了的
--
FROM 111.193.122.*
对,没办法override也没办法overload父类的私有方法
【 在 here080 (hero080) 的大作中提到: 】
: java的设计思路是正常情况下私有的内容外部不可见也不需要管
:
: 所以子类写了一个foo()当然就是自己的foo()
: 什么?父类有一个同名的?关我毛事。当它不存在就对了。
--
FROM 111.193.122.*
你这里foo的签名完全一样,即使生效也是重写不是重载
【 在 qlogic (戒网了) 的大作中提到: 】
: class A{
: private void foo();
: public void bar() {foo();}
: }
--
FROM 111.193.122.*