2014-03-29 67 views
-1

正在學習的java得到困在這裏請幫我還這是面試的問題是,似乎抽象類,類,接口

1)抽象類:

我知道抽象類具有空的方法和全面定義方法,但無法理解實際上空方法的含義。請舉個例子來理解。

2)抽象類和普通類的主要區別是什麼?

3)interface:interface也有空方法,interface和abstract class有什麼區別?請給任何實時例子就明白了,試過很多理論來理解的,但目前還不清楚

+0

此[鏈接](http://javarevisited.blogspot.com/2013/04/10-abstract-class-and-interface-interview-question-java-answers.html)可以幫助你很多。基本上你應該說抽象類,具體類,接口。 –

+0

嘗試頭先Java。它實際上解釋了與真實世界的例子,所以你真的堅持在你的頭.. –

+0

http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo?rq=1 –

回答

3

抽象類基本骨架類,你可以擴展和完整的子類。

一個抽象類,它允許一些更容易管理的路線的一個例子:

public abstract class CommandBase { 

    public abstract String getName(); 

    public String getUsage() { 
     return "/" + this.getName(); 
    } 

} 

然後,您可以擴展類,像這樣:

public class SomeCommand extends CommandBase { 

    @Override //This is a required override 
    public String getName() { 
     return "some"; 
    } 

    @Override //This is an optional override, method was not abstract 
    public String getUsage() { 
     return super.getUsage() + " <text>"; //refer to superclass for original method invocation 
     //Would return '/some <text>' 
    } 

接口是一個「合同」指定實現它們的類將使用該方法。

您可以實現多個接口,但只能擴展一個類。抽象類和接口不能直接實例化。

嘗試讀一下Java's documentation around them