
class A
{
private String fun()
{
return "123";
}
}
class B extends A
{
public String fun()
{
return super.fun() + "456";
}
}
public class Demo
{
public static void main(String args[])
{
B b = new B();
A a = new A();
System.out.println(b.fun());
System.out.println(a.fun());
}
}
编译出错:
Demo.java:13: 错误: fun()可以在A中访问private
return super.fun() + "456";
^
Demo.java:24: 错误: fun()可以在A中访问private
System.out.println(a.fun());
^
2 个错误
结论:根据我现在所知,private访问权限是在本类中,所以子类是不能覆写父类的private方法,我在12楼的做法-->错!
当把A类中的fun()方法改为public权限或得default,此程序编译正常,输出正常。
[
本帖最后由 bulezdf 于 2012-1-7 20:45 编辑 ]