公共与受保护的抽象类方法
这个问题在这里已经有了答案:
  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());
  }
}
