class A
{
protected String toString()
{
return super.toString();
}
}
编译出错,不知为何

解决方案 »

  1.   

    当然不行.
    把protected改为public
      

  2.   

    以前不是说过了么?对于多态,子类Override父类的同名方法时候,有2个要求
    1.子类的访问可见性应该不低于父类的访问可见性
    2.子类的返回类型应该和父类返回类型相同或者是父类返回类型的子类你这里覆盖了基类Object的toString方法,而Object中已经是public了,你要可见行不低于它,那么只能public了
      

  3.   

    我们编写的任何一个类,他的终极父类是Object,你这样写就是要覆盖他的toString方法了,覆盖后的方法的访问限制不能比父类的访问限制窄,而Object类的toString方法是public修饰的,所以toString方法只能是 public 。Like this:        @Override
    public String toString() {
    return super.toString();
    }