如何使用扩展类创建实例?

时间:2015-02-09 15:43:54

标签: java oop

我正在尝试使用扩展类来创建实例但是我有点困惑。

我很难解释这类东西,但这就是我想要做的事情:

我有包含

的test1.java
private double value1;
private double value2;
private double value3;

以及所有这些人的吸气剂和制定者。

我有test2.java,它扩展了test1.java。

我有一个新值

private double value4;

在test2.java中我还有一个构造函数,其中包含以下内容

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

我还有一个新的值4的setter和getter。

现在终于有了我的第三课,test3.java

我想用这个创建一些实例但是我不知道如何使用test2.java。

我所知道的是我可以用test1.java创建一个实例但是我如何包含test2.java的东西,以便每个实例的value3都是5.5并且还包含value4?

2 个答案:

答案 0 :(得分:1)

如果test2.java延伸test1.java,那么所有public/protected成员(作为特定的getter和setter)都会继承在test2.java

现在在test3.java你必须这样做

  • 创建类test2.java的对象(比如test2)

现在呼叫您想要呼叫的多个吸气者和设定者。

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

并在test2.java的构造函数中,您可以直接调用setValue3(2.5),而不是创建类test1.java的新对象

  

每个实例的value3为5.5

是现在每当您创建类test2.java的对象时,您将获得value3 as 5.5

答案 1 :(得分:0)

如果Test3 extends Test2它的值为value4。关于costructors,您在[{1}}的costructor中的行

Test2

test1 t=new test1(); 对象中创建一个新对象Test1。我想你想在Test2中设置你继承的变量,这样做可以将结构重写为:

Test2

函数super(); this.setValue3(5.5); 调用超类构造函数,关键字super()引用它所使用的类。所以在新类this中只需执行相同的操作构造函数将Test3设置为5.5