- 主题:重载私有方法会有什么后果
class A{
private void foo();
public void bar() {foo();}
}
class B extends A{
private void foo();
@override
public void bar() {foo();}
}
B b = new B();
b.bar();
这里的bar是调用A里的foo,还是B里的foo
--
修改:qlogic FROM 113.110.227.*
FROM 113.110.227.*
你自己测一下不就知道了
私有的不能重载
【 在 qlogic (戒网了) 的大作中提到: 】
: class A{
: private void foo();
: public void bar() {foo();}
: ...................
--
FROM 88.130.55.*
过不了
--
FROM 49.7.47.*
能过,compile没问题
【 在 qblyy (新的昵称) 的大作中提到: 】
: 你自己测一下不就知道了
: 私有的不能重载
--
FROM 120.229.14.*
首先,这代码不改是编译不了的
其次,不管怎样,看我上一个帖子
【 在 iwannabe (I wanna be) 的大作中提到: 】
: 能过,compile没问题
--
修改:qblyy FROM 88.130.55.*
FROM 88.130.55.*
不仅能编译,而且能运行
overload修饰的foo,而是bar
【 在 qblyy (新的昵称) 的大作中提到: 】
: 首先,这代码不改是编译不了的
: 其次,不管怎样,看我上一个帖子
--
FROM 120.229.14.*
这个代码肯定会编译报错的
--
FROM 106.120.73.*
b里的
【 在 qlogic (戒网了) 的大作中提到: 】
: class A{
: private void foo();
: public void bar() {foo();}
: ...................
--
FROM 113.66.248.*
不会报错,可以运行
B b= new B(), 调用的是B里的foo方法
A b = new B(), 还没有测试,
【 在 niten (南门看守者) 的大作中提到: 】
: 这个代码肯定会编译报错的
--
FROM 113.110.227.*
你的foo()都没有方法体
为什么可以运行?
【 在 qlogic (戒网了) 的大作中提到: 】
: 不会报错,可以运行
: B b= new B(), 调用的是B里的foo方法
: A b = new B(), 还没有测试,
: ...................
--
FROM 180.167.95.*