2012-01-12 101 views
0

我有一個抽象類,像:返回類和抽象類?

public abstract class myClass{  

    public abstract double methodOne(); 
    // returns the data member value for standard deviation 

    public abstract double methodTwo(String myString, int myInt); 
    // returns the data member value for mean percentage 

} 

然後,我必須延伸此一類:

public class Abstract extends myClass{ 

    public double methodOne() { 
     return 0.00; 
    } 

    public double methodTwo(String myString, int myInt) { 
     return 20.00; 
    }  
} 

於是最後我有一個正常的方法,該方法的返回類型爲MyClass的。

public myClass anotherMethodOfMine(String myString, int myInt){ 

} 

一個簡單的問題真的,我只是不明白一個方法如何可以返回另一個本身包含方法的類?有人可以向我解釋嗎?

+0

它返回一個類的實例,就像它返回一個字符串一樣 - 另一個具有方法的類型。 – 2012-01-12 23:15:35

+0

你有沒有返回一個字符串?一個字符串包含方法。你有沒有返回一個ArrayList? ArrayList包含方法。你有沒有回覆過____? ____包含方法。坦率地說,我不明白這個問題。關注更多細節?它是否只是超級類中的* abstract *修飾符,會給你帶來麻煩? – 2012-01-12 23:21:25

回答

2

該方法返回MyClass的對象,您可以在其中調用定義的方法。

你應該明白,一個類只是行爲和數據的定義。一個對象是可以用數據執行某些事情的實際實體,並且可以調用該類中定義的行爲。

+1

謝謝,我現在明白了。我一直在做java的一段時間,從來沒有這樣做,但它真的很基本,我的知識差距! – 2012-01-13 17:30:36

1

即使您的myClass無法直接實例化(因爲它是一個抽象類)AbstractmyClass的子類;這意味着它有一個is a的關係。

因此,Abstract「是」myClass並且它可以作爲父類的實例返回(myClass)。

0

您的方法anotherMethodOfMine(String myString, int myInt)這將inturn有一個對象實例化並返回到調用函數。您可以訪問myclass對象並使用myclass中定義的方法。