所以我们可以说我有A类,做类似的事情,B级重写延伸类
我知道有很多的例子,但他们不会用我的方法很好地工作。
public class B extends A {
public void doSomething(){..}
public String toString(){..}//not important
}
我该写些什么来覆盖类B中的doSomething()方法?
所以我们可以说我有A类,做类似的事情,B级重写延伸类
我知道有很多的例子,但他们不会用我的方法很好地工作。
public class B extends A {
public void doSomething(){..}
public String toString(){..}//not important
}
我该写些什么来覆盖类B中的doSomething()方法?
你应该重新实现它。虽然没有严格要求,我还标注方法,采用@Override
澄清这一覆盖A
的行为:
public class B extends A {
@Override
public void doSomething(){
// implementation goes here.
// may or may not call super.doSomething()
}
}
这就是他已经在做的事情。 – Apurva 2015-03-08 17:33:39
所以我们可以说我有A类,做类似的事情,B级
那么你应该根本就没有创造B级,因为它是不userfull,但既然你已经创造了它,想知道它是如何将得到覆盖,然后先了解什么是方法覆盖
如果子类(子类)具有如在 父类中声明的方法相同的方法,已知的是如在java的方法覆盖。
所以,如果你的类A有方法,有相同的签名
public void doSomething(){..}
,那么你已经覆盖它,用 @override
诠释重写方法将指示编译器,这是一个重写的方法,如果我忘了正确地覆盖它然后请告诉我通过抛出编译时间错误
如果你重写一个方法,那么你说A类有同样的方法,是的? – Makoto 2015-03-08 17:29:13
你正试图解决什么问题? – minion 2015-03-08 17:29:14
是什么让你觉得你需要做任何事情? – 2015-03-08 17:29:22