java – 私有内部类的构造函数是否应该被声明为public或private
发布时间:2020-12-14 16:43:49 所属栏目:Java 来源:网络整理
导读:这有什么实际的区别吗 public class OuterClass { private class InnerClass { public InnerClass() {} }} 和这个? public class OuterClass { private class InnerClass { private InnerClass() {} }} 解决方法 从另一个类访问私有成员稍微复杂一点,因为JV
这有什么实际的区别吗
public class OuterClass { private class InnerClass { public InnerClass() {} } } 和这个? public class OuterClass { private class InnerClass { private InnerClass() {} } } 解决方法
从另一个类访问私有成员稍微复杂一点,因为JVM实际上不允许这样做.因此,编译器会注入访问器方法,使其稍慢或堆栈跟踪更复杂.
因为这些原因,我把它当作包裹本地. BTW抽象类的构造函数也不需要是公共的.它也可以被保护或包装在本地 private static class A { private A() { throw new Error(); } } public static void main(String... ignored) { new A(); } 打印一个额外的堆栈跟踪元素. Exception in thread "main" java.lang.Error at Main$A.<init>(Main.java:8) at Main$A.<init>(Main.java:6) at Main.main(Main.java:12) 使构造函数包本地化,第二个消息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java-8 – Optional.ifAbsentThrow()?
- Java笔记:常用类
- 为什么在java中使用java.security.SecurityManager可以读取
- Java编程cas操作全面解析
- java – 在不安装SMTP服务器的情况下测试Greenmail
- java-8 – Java8 MetaspaceSize标志不起作用
- Java ConcurrentHashMap Example and Iterator--转
- How to fix “HTTP Status Code 505 – HTTP Version Not S
- SpringCloud重试机制配置详解
- java – 对于Apps类型,方法getString(int)未定义