作业帮 > 综合 > 作业

如何在外部实例化私有静态内部类

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 14:01:45
如何在外部实例化私有静态内部类
如:public class A {
private static class B {
private String name;
private int age;
}
}
如何在外部取得内部类B的实例化对象呢?
一种方法是A中提供全局访问点,public B getB()
另外的只能是使用java反射来攻击了,不过这违反了设计者设计B的初衷.
Class.forName("A$B").newInstance(); // A前面需要加上其包名
反射方式要求B中必须定义非private的构造函数,否则是无法访问的.