2015-02-09 33 views
-1

我想使用擴展類創建一個實例,但我有點困惑。如何使用擴展類創建實例?

這是我很難解釋這種東西,但這裏是我想要做的事:

我有test1.java其中包含

private double value1; 
private double value2; 
private double value3; 

,併爲所有的getter和setter他們。

我有擴展test1.java的test2.java。

我有一個新的價值

private double value4; 

在test2.java我也有它裏面以下構造

test1 t = new test1(); 
t.setValue3(5.5); 

我也有一個setter和新VALUE4一個getter 。

現在終於我有我的第三類,test3.java

我想用它來創建少數情況下,但是我不知道如何使用test2.java。

我所知道的是我可以用test1.java做一個實例,但我怎樣才能包含test2.java的東西,以便每個實例的value3都是5.5,並且還會包含value4?

+1

有我不需要在test2的構造函數中顯式「創建」test1實例。 – manouti 2015-02-09 15:45:21

+1

你應該用大寫字母 – steven35 2015-02-09 15:46:02

+0

開始你的類名@manouti我想在'test2'中使用'value4'(並將'value3'設置爲5.5),同時也使用'test1'中的所有內容。如何在'test3'中創建這個實例?這就是我基本上要求的。 @ steven35這只是一個例子 – Xylus 2015-02-09 15:48:14

回答

1

如果test2.java延伸test1.java,因此,所有的public/protected成員(是具體的getter和setter)繼承在test2.java

現在test3.java你只是做這個

  • 創建test2.java類對象(比如test2)

現在調用你想調用的許多getter和setter。

test2.getValue1(); 
test2.getValue2(); 
test2.getValue3(); 
test2.setValue4(2.2); 

,並在test2.java構造函數可以直接調用,setValue3(2.5)而不是創造一流test1.java

的新對象,只要你創建的每個實例將擁有5.5

是中值3現在對象類test2.java你會得到value3 as 5.5

0

如果Test3 extends Test2它的值將是value4 .Regarding costructors您在Test2的costructor線

test1 t=new test1(); 

創建Test2內一個新的對象Test1 object.I想你想設置你的繼承變量您Test2,這樣做改寫costructor爲:

super(); 
this.setValue3(5.5); 

函數調用super()超類構造函數和關鍵字this指類是used.So新類Test3只是做同樣的事情,在其構造有value3設置好的5.5

+0

**私人會員**不會遺傳!所以'Test3'不會有'value4' – 2015-02-09 16:06:08