要求类的实例覆盖方法

时间:2016-04-10 02:28:31

标签: java

在这种情况下:我有一个班级,我创建了一个实例。我希望继承类中的大多数方法/变量,但我想要覆盖一些方法,类似于抽象类的工作方式。

到目前为止,这是我的代码。

public class Example {
    public void methodOne() {
        //Inherited
    }
    public void methodTwo() {
        //Interited
        //Maybe calls methodThree() as a part of its function
    }
    public void methodThree() {
        //Override Me
    }
}

1 个答案:

答案 0 :(得分:1)

  

我不能[使类抽象]因为我需要创建实例

使类抽象确实可以防止实例化,但是由于你想要防止实例化,除非重写方法,这是正确的做法。

你可以匿名进行覆盖,所以语法上这类似于实例化基类:

public abstract class Example {
    public void methodOne() {
        //Inherited
    }
    public void methodTwo() {
        //Interited
        //Maybe calls methodThree() as a part of its function
    }
    public abstract void methodThree();
}
...
static void main(String[] args) {
    Example e = new Example() {
        @Override
        public void methodThree() {
            ... // Do something
        }
    };
}