gpt4 book ai didi

java - 父类构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:54:25 25 4
gpt4 key购买 nike

public class Parent {

public Parent() {

System.out.println("Parent");

}
}


public class Child extends Parent implements Serializable {


public Child() {

System.out.println("Child");
}

}

public class Demote {

public static void main(String[] args) {
Child c=new Child();
try {
FileOutputStream fos=new FileOutputStream
("D:\\DemoFile\\Testword5.txt");

ObjectOutputStream oot=new ObjectOutputStream(fos);
oot.writeObject(c);
FileInputStream fin=new FileInputStream
("D:\\DemoFile\\Testword5.txt");

ObjectInputStream oin=new ObjectInputStream(fin);
oin.readObject();

} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

此代码的输出是 - Parent Child Parent。

调用第一个 set Parent Child 是因为调用了零参数构造函数。 oin.readObject() 正在返回一个子对象。那为什么只调用父类的构造函数而不调用子类

最佳答案

Parent 构造函数被调用,因为它没有实现 Serializable。然而,Child 确实实现了 Serializable,但未调用它。

关于java - 父类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com