
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 编辑 ]