公共与受保护的抽象类方法

这个问题在这里已经有了答案:

  • 在Java中,封装私有,公共,受保护和私有26个答案之间的区别

  • public abstract method将在其他包中被访问,因为被protected abstract method不能被访问。 检查下面的例子。

    具有公共和受保护的抽象方法的抽象类

    package package1;
    
    public abstract class MyClass {
      abstract protected String method1();
      abstract public String method2();
    }
    

    另一个扩展类并实现抽象类的包。

    package package2;
    
    import package1.MyClass;
    
    public class MyClassImpl extends MyClass {
      @Override
      protected String method1() {
        return "protected method";
      }
    
      @Override
      public String method2() {
        return "public method";
      }
    }
    

    访问抽象方法的主类。

    package package2;
    
    import package1.MyClass;
    
    public class MainClass {
      static MyClass myClass = new MyClassImpl();
    
      public static void main(String[] args) {
        System.out.println(myClass.method1());   // This is compilation error.
        System.out.println(myClass.method2());
      }
    }
    
    链接地址: http://www.djcxy.com/p/24065.html

    上一篇: Public vs. Protected abstract class method

    下一篇: access modifiers in Java