2015-03-08 38 views
0

所以我们可以说我有A类,做类似的事情,B级重写延伸类

我知道有很多的例子,但他们不会用我的方法很好地工作。

public class B extends A { 

    public void doSomething(){..} 

    public String toString(){..}//not important 

} 

我该写些什么来覆盖类B中的doSomething()方法?

+0

如果你重写一个方法,那么你说A类有同样的方法,是的? – Makoto 2015-03-08 17:29:13

+1

你正试图解决什么问题? – minion 2015-03-08 17:29:14

+1

是什么让你觉得你需要做任何事情? – 2015-03-08 17:29:22

回答

0

你应该重新实现它。虽然没有严格要求,我还标注方法,采用@Override澄清这一覆盖A的行为:

public class B extends A { 

    @Override 
    public void doSomething(){ 
     // implementation goes here. 
     // may or may not call super.doSomething() 
    } 
} 
+0

这就是他已经在做的事情。 – Apurva 2015-03-08 17:33:39

0

所以我们可以说我有A类,做类似的事情,B级

那么你应该根本就没有创造B级,因为它是不userfull,但既然你已经创造了它,想知道它是如何将得到覆盖,然后先了解什么是方法覆盖

This Article will help you,总之

如果子类(子类)具有如在 父类中声明的方法相同的方法,已知的是如在java的方法覆盖。

所以,如果你的类A有方法,有相同的签名

public void doSomething(){..}

,那么你已经覆盖它,用 @override

诠释重写方法将指示编译器,这是一个重写的方法,如果我忘了正确地覆盖它然后请告诉我通过抛出编译时间错误