Java 是一種面向對象的編程語言,它支持多種類型的類,包括內部類、枚舉類和注解類
一、內部類(Inner Class):
內部類是定義在另一個類內部的類。它可以訪問外部類的成員(包括私有成員),而外部類也可以訪問內部類的成員。內部類可以分為四種類型:
**? 成員內部類(Member Inner Class):定義在外部類的成員位置,與成員變量、成員方法同級別。
** 局部內部類(Local Inner Class):定義在方法內部或者代碼塊內部的類。
**?匿名內部類(Anonymous Inner Class):沒有類名的內部類,通常用于實現接口或繼承類的子類。
** 靜態內部類(Static Inner Class):使用 static 關鍵字定義的內部類,它不依賴于外部類的實例。
二、枚舉類(Enum Class):
枚舉類是一種特殊的類,用于表示一組固定的常量值。枚舉類使用關鍵字 enum 定義,它們不能被繼承,但可以實現接口。枚舉類的實例是單例的,可以通過 EnumSet 或 EnumMap 進行操作。
public enum Color {RED, GREEN, BLUE;
}
三、注解類(Annotation Class):
注解類是一種特殊的類,用于為其他代碼元素(如類、方法、字段等)提供元數據。注解類使用關鍵字 @interface 定義,它們不能被實例化,但可以通過反射獲取注解信息。注解類可以包含方法,這些方法用于定義注解的屬性。
public @interface MyAnnotation {String value() default "";int priority() default 0;
}
四、總結
**? 內部類是定義在另一個類內部的類,可以訪問外部類的成員,并且可以根據需要定義為成員內部類、局部內部類、匿名內部類或靜態內部類。
**? 枚舉類是一種特殊的類,用于表示一組固定的常量值。它們不能被繼承,但可以實現接口。
**? 注解類是一種特殊的類,用于為其他代碼元素提供元數據。它們不能被實例化,但可以通過反射獲取注解信息。