Java类可以在哪里定义?

时间:2013-06-04 05:35:54

标签: java class definition

Java中有许多地方可以定义类。它可以是公共的,静态的,匿名的等等。

我知道他们中有很多人。是否有人拥有Java中可以遇到的所有类型的完整列表?

2 个答案:

答案 0 :(得分:2)

  • 外部即非嵌套类可以使用public和 默认修饰符
  • 嵌套类可以是静态的
  • 内部类可以是私有的,受保护的,默认的和公共的。
  • 所有课程都可以标记为摘要或最终
  • 抽象类永远不会是最终的,最终的类永远不会是抽象的

    public class ClassModifier {
    
    /* a private class */
    private class PrivateInnerClass {
    
    }
    
    /* static nested class */
    public static class StaticNestedClass {
    
    }
    
    public void methodForInnerClass() {
    /* A class declared inside a method */
    class MethodLocalInnerClass {
    
    }
    
    }
    
    }
    

通过更简单的方式,您可以简单地打开eclipse IDE,创建一个新类并使用所有可用选项并创建一些类。

答案 1 :(得分:2)

您需要阅读JLS Chapter 8: Classes

  

ClassModifiers:

ClassModifier

ClassModifiers ClassModifier
     

ClassModifier:

之一
Annotation public protected private

abstract static final strictfp

但你也要注意

  

访问修饰符public(第6.6节)仅适用于顶级类(第7.6节)和成员类(第8.5节),不适用于本地类(第14.3节)或匿名类(第15.9.5节)。 p>      

访问修饰符protected和private(第6.6节)仅适用于直接封闭类或枚举声明中的成员类(第8.5节)。

     

修饰符static仅适用于成员类(第8.5.1节),不适用于顶级或本地或匿名类。

如果您需要更多详细信息,请阅读第8.1节,它涉及类声明(您可能感兴趣)。