Java中的继承[子类声明为protected时出错]

时间:2014-03-14 07:39:09

标签: java inheritance compiler-errors protected

混淆:

  • protected modifier主要用于继承机制保护我们可以扩展
  • 如果super在子类中更具限制性(私有)可能会更少

    public class Sub extends Base //line 1
    {
      Sub()
       {
            System.out.println("Base Class");
       }
      public static void main(String[] args) 
       {
              System.out.println("Calling From Main");
              Base b = new Base()
              Sub s = new Sub();
        }
    }
    protected class Base        // line 14
    {
      Base()
        {
            System.out.println("Base Class");
        }
    }
    
  • 第14行的编译文件

    error: modifier protected not allowed here
    protected class Base
              ^
    1 error
    
  • 为什么它会给出错误请解释一下?

  • 是否可以声明/扩展受保护的类?

1 个答案:

答案 0 :(得分:0)

受保护的私有类仅允许作为内部类和嵌套类。 在继承中,受保护的用作方法或变量级别,而不是顶级级别。