gpt4 book ai didi

java - 私有(private)内部类的继承

转载 作者:行者123 更新时间:2023-12-02 11:55:01 25 4
gpt4 key购买 nike

我想在类中实现 Serialized,但不允许我修改它。我的想法是创建另一个继承另一个类的类。但原来的类是这样构建的:

public class ClassName {

private class InnerClass{
private InnerClass(){
//do stuff
}
}

public ClassName(){
//do stuff
}
}

因此以下内容不起作用,因为 InnerClass 是私有(private)的,因此不可见:

import java.io.Serializable;

public class ClassTwo extends ClassName implements Serializable{

private class InnerClass extends ClassName.InnerClass implements Serializable {
private InnerClass(){
super();
}
}

public ClassTwo(){
super();
}
}

有没有一种方法可以在不更改原始类的情况下将 Serialized 实现到 ClassName 中?

最佳答案

如果您对您想要序列化的所有插槽具有读/写访问权限,则可以创建一个适配器类。

public class MyClassAdapter implements Serializable {
private MyClass instance;
...
}

然后在序列化之前将实例包装在这个适配器类中,并在反序列化之后将其提取出来。

如果您没有对插槽的读/写访问权限,这可能是有充分理由的,并且序列化您不拥有的数据是一个坏主意。

关于java - 私有(private)内部类的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660587/

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