java – 强制抽象方法执行预定义代码 – 类似于重载的return语句
发布时间:2020-12-15 04:32:44 所属栏目:Java 来源:网络整理
导读:我有一个抽象方法的抽象类 public abstract class Foo{ public int bar();} 这是由普通类使用某些方法继承和实现的. public class ConcreteFoo1 extends AbstractFoo{ public void bar(){ method1(); method2(); closingMethod(); return 1; } ????} public
我有一个抽象方法的抽象类
public abstract class Foo{ public int bar(); } 这是由普通类使用某些方法继承和实现的. public class ConcreteFoo1 extends AbstractFoo{ public void bar(){ method1(); method2(); closingMethod(); return 1; } public class ConcreteFoo2 extends AbstractFoo{ public void bar(){ method3(); method4(); closingMethod(); return 2; } 正如您所看到的,两个类都以closingMethod()结尾;结束使用相同行的已实现的bar()方法对于我所使用的框架至关重要.有没有办法通过父类强制执行.缺少更好的单词使其成为“半抽象”,其中前n行在子类中定义,而结束行由父类定义.理想情况下,我想重载return语句或实现“方法析构函数”. 有没有办法实现这个目标? 解决方法
我可能会通过在Foo中定义一个非抽象方法来实现它,我将其称为抽象方法栏和closingMethod(),例如,
public abstract class Foo { public void foo() { bar(); closingMethod(); } public abstract void bar(); } OP编辑后的更新: 事实上,这会使事情变得复杂,但是你可能会做一些事情 public abstract class Foo { public int foo() { bar(); closingMethod(); return baz(); } protected abstract void bar(); protected abstract int baz(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |