我有一个Parent类和26个子类,并希望保存其中一个实例的状态。
父类:
"C:\sonar-scanner-msbuild-4.3.1.1372-net46\SonarScanner.MSBuild.exe" begin /k:"MyApp" /d:sonar.css.file.suffixes=.foo /d:sonar.host.url="http://localhost:9000" /d:sonar.login="200dc9294n6bg4d4cc9bed30mj76fcb10d25ee17"
第一个子类,其中包含其他字段:
public class ParentClass {
protected String name;
protected String type;
public ParentClass(String name) {
this.name = name;
this.type = "Parent";
}
public ParentClass(ParentClass src){
this.name = src.name;
this.type = src.type;
}
}
最后一个包含其他字段的子类:
public class ChildClassA extends ParentClass {
protected String value;
public ChildClassA(String name, String value) {
super(name);
this.value = value;
this.type = "A";
}
public ChildClassA(ChildClassA src) {
super(src);
this.value = src.value;
}
}
要保存未知类的状态,我在子类中使用带有此类参数的构造函数,定义类类型并按大小写结构进行初始化。
是否可以避免使用case或if-then-else结构来提高代码的可读性?可能是反思。
public class ChildClassZ extends ParentClass {
protected int size;
public ChildClassZ(String name, int size) {
super(name);
this.size = size;
this.type = "Z";
}
public ChildClassZ(ChildClassZ src) {
super(src);
this.size = src.size;
}
}
答案 0 :(得分:0)
“ Java对象可以写入文件以供将来访问,这称为 序列化。为此,您必须实施 Serializableinterface,并使用ObjectOutputStream编写对象 放入文件中。”
https://www.mkyong.com/java/how-to-write-an-object-to-file-in-java/
当然,您可以将它们存储为字符串而不是文件