如何限制我的抽象类的实现类将方法的范围从受保护的修改为公共的?
例如:假设我有一个抽象类
package com.rao.test;
public abstract class AbstractTEClass {
protected abstract void function1();
protected abstract void function2();
protected void doWork() //I want to call the abstract methods from this method.
{
function1(); //implementation classes will give implementation of these methods
function2();
}
}
现在,我有一个扩展上述抽象类的实现类
package com.rao.test;
public class AbstractTEClassImpl extends AbstractTEClass {
@Override
public void function1() {
// TODO Auto-generated method stub
System.out.println("FUnction1");
}
@Override
public void function2() {
// TODO Auto-generated method stub
System.out.println("Function2");
}
public static void main(String[] args)
{
AbstractTEClassImpl objTEClass = new AbstractTEClassImpl();
objTEClass.doWork();
}
}
请注意,我正在将实现类中的 2 个抽象方法的范围从受保护更改为公共,如何限制我的实现类修改范围。
欢迎任何设计更改或建议或模式。