2015-02-09 72 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