我们可以在java层次结构的顶部声明一个类是private还是protected:请解释一下吗?

问题描述:

我们可以在java层次结构的顶部声明一个类,如 私有类hello或protected class hello吗?我们可以在java层次结构的顶部声明一个类是private还是protected:请解释一下吗?

+7

你试过了吗? –

+2

你知道这是不可能的。你问如果你能做到这一点,这意味着什么?或者你问为什么你不能这样做?如果后面你会指望它做什么? –

没有用处。一个顶级的私人课程完全没用。

FYI Java的犯规让在顶级分级中的类是private/protected

我们不能宣布顶级类/接口与私人或受保护的访问说明。

公共的,抽象的&最终允许

protected class example { 
public static void main(String[] args) { 
    System.out.println("output"); 
    } 
} 

会给非法改性剂类例如作为错误。

但对于内部类则允许

+1

您所写的内容仅适用于顶级课程。内部类和嵌套类可以是私有/保护的 –

+0

@Marcin Krupa已更新 –

如果我这样做的 - 在NetBeans IDE中我得到的错误:

modifier private not allowed here

与受保护的类一样。

类层次结构的顶部已被Object类占用​​。您不能提供另一个也位于层次结构顶部的类。

如果你的意思是直接扩展对象的类,它可以是私有的:

class Outer { 
    private static class AtTheTop {} 
} 

AtTheTop是直接扩展对象的私有类。这是任何自定义Java类可以到达类层次结构顶部的最接近的位置。