Java初学者-关系和其他有关特定代码的问题
好的,我需要帮助的是类和方法之间的关系。我听说过关联和聚合,但我不知道如何使用它们,甚至不知道它们是否适合此代码 另外,我想知道Java初学者-关系和其他有关特定代码的问题,java,relationship,super,relation,Java,Relationship,Super,Relation,好的,我需要帮助的是类和方法之间的关系。我听说过关联和聚合,但我不知道如何使用它们,甚至不知道它们是否适合此代码 另外,我想知道super()做了什么,以及p3=p3In在classpgm2中做了什么 public class Pgm1 { public Pgm1() { System.out.println("Konstruktor Pgm1"); } public void skriv() { System.out.pri
super()
做了什么,以及p3=p3In
在classpgm2
中做了什么
public class Pgm1 {
public Pgm1() {
System.out.println("Konstruktor Pgm1");
}
public void skriv() {
System.out.println("Skriv i Pgm1");
}
public static void main(String[] args) {
Pgm3 p3=new Pgm3();
p3.skriv();
Pgm4 p4=new Pgm4(p3);
p4.skriv();
Pgm2 p2=new Pgm2();
p2.skriv();
}
}
public class Pgm2 {
private Pgm1 p1;
public Pgm2() {
p1=new Pgm1();
System.out.println("Konstruktor Pgm2");
}
public void skriv() {
System.out.println("Skriv i Pgm2");
}
}
public class Pgm3 {
public Pgm3() {
System.out.println("Konstruktor Pgm3");
}
public void skriv() {
System.out.println("Skriv i Pgm3");
}
}
public class Pgm4 extends Pgm2 {
private Pgm3 p3;
public Pgm4(Pgm3 p3In) {
super();
p3=p3In;
System.out.println("Konstruktor Pgm4");
}
public void skriv() {
System.out.println("Skriv i Pgm4");
}
}
super()
调用基类的构造函数(不带参数)(在本例中,Pgm2
)
p3=p3In代码>将p3In
的值赋给类变量p3
super()
是super关键字的特殊用法,在这里调用无参数父构造函数。一般来说,super关键字可用于调用重写的方法、访问隐藏字段或调用超类的构造函数。类Pgm1
、Pgm2
和Pgm3
都是非常普通的类。但是,类Pgm4
扩展了Pgm2
,这意味着Pgm4
是Pgm2
的子类。把它想象成一个动物园模拟器程序,你可能有一个叫做Animal
或类似的类,然后有很多其他类扩展它。这些类的一些示例可能是我的狮子、老虎、熊,这些特定的动物类都是模拟器中的动物
super()代码>语句(正如其他人指出的)调用您扩展的类的构造函数。最后,p3=p3In代码>行将Pgm4
类中的变量分配给通过构造函数传递给类的任何对象。希望有帮助