我知道Java不允许我们将顶级类定义为私有类,我在其他问题中看到了答案,声称它没用,但为什么没用?假设我想要一个管理员工的课程。工资,我不希望任何人访问这个课程,我不需要任何其他帮助类,将其定义为私有的问题是什么?
答案 0 :(得分:4)
定义为private
的顶级课程不会可访问任何地方的任何课程。您可以拥有public
,protected
或package (default)
访问权限的顶级课程。您可以拥有private
(或所有其他访问级别)内部和静态类以及enum
,因为包含类(以及您的点仅包含类)可以看到它们
答案 1 :(得分:2)
我认为您在问题中混淆了class
和class instance
。
Class
就像一张蓝图,Class instance
- 是使用此蓝图构建的对象。
假设您已在顶级将此类定义为私有,在这种情况下,没有人可以使用此类构建对象。您的蓝图在框中关闭,没有人可以访问此蓝图来构建对象。