class A
{
  private void Fun(){ System.out.println("A");}
}class B extends A
{
  private void Fun(){ System.out.println("B");}
  public static void main(String args[])
  { 
    A xx = new B(); 
    xx.Fun();   //不是说B继承了A...
  }
}

解决方案 »

  1.   

    是阿,B是继承了A,但是你看A中的方法,它是私有的,私有的方法只在本类中使用。
    还有你看你生成的对象是B的对象
      

  2.   

    报啥错?为什么fun()是private的?
      

  3.   

    是不是private的方法连对象也无法访问??
      

  4.   

    你可以想象一下,有时候想象也是一种好的学习方法class B extends A你可以这样想想:B是一个小偷,专门偷A的Fun()这个方法,但是A为Fun()加了一个保险箱private,这样B就偷不到了!!!只能干着急!!!如果不加private这个保险箱,而是使用public这样B就偷到了Fun()这个方法。这样他就可以用Fun()了!!!
      

  5.   

    A xx = new B(); //错误
      

  6.   

    private 方法不能被继承,谢谢蜗壳网: http://www.wokenet.com/
    笔记本电脑新闻,行情,导购,评测,论坛,做最专业的数码产品搜索引擎
      

  7.   

    就算被继承了,也不能xx.Fun()啊,private方法不能实例化后直接调用的。private其实是可以继承的,它在子类中存在,但对子类来说是完全屏蔽的,无法覆盖override,也无法重载overload。你在子类中用这个父类private方法的名字再建个private方法,对子类来说就是一个全新的方法。