我正在寻找解决方案如何使用自定义内容扩展超类的方法。如何使用自定义内容扩展超类的方法
,比如我有一个超类
class A{
public A(){
boolean ok = doSomeInitialWork();
if(ok){
specialMehtod();
}
}
specialMehtod(){
System.out.print("HEllO");
}
}
所以我的A类做了一些 “初始化” 的东西,然后调用specialMehtod()。现在我想拥有class B extends A
并将其他代码添加到specialMehtod()。喜欢的东西:
Class B extends A{
B(){
super();
}
specialMehtod(){
System.out.print("BBBBB");
}
}
但如果我这样做,我打电话a.SpecialMethod()
expizit,实际上我只是想“添加”到System.out.print("BBBBB");
specialMethod(),所以它仍然可以从A的构造方法中调用
我想实现什么,是finaly我可以在我的主类
new B();
蚂蚁输出会做。因为B()调用A()的构造函数,它调用由B.specialMethod()扩展的A.specialMethod()
;
可能吗?
感谢
不知道我明白你想要做什么,但如果你重写B中的someSpecialTask方法,它应该不工作? – LBes
您既可以按原样继承方法,也可以重写它。不幸的是,下面的所有答案都为您提供了解决方案,但不回答您的问题。 – zubergu
我编辑我的问题,也许它现在更清楚我想实现什么 – user1908375