我正在尝试使用扩展类来创建实例但是我有点困惑。
我很难解释这类东西,但这就是我想要做的事情:
我有包含
的test1.javaprivate 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?
答案 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