background image

当定义了一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别

是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在

 

编译期间就已经完全确定下来了。

JDK1.5

“ ”

加入了一个全新类型的 类 -枚举类型。为此 JDK1.5 引入了一个新

关键字 enum. 

 

我们可以这样来定义一个枚举类型

public enum Color { Red, White, Blue } 
然后可以这样来使用 Color myColor = Color.Red 

枚举类型还提供了两个有用的静态方法 values(). 我们可以很方便地使用它们,

 

例如

for (Color c : Color.values()){ System.out.println(c);} 

定义枚举类型时本质上就是在定义一個类别,只不过很多细节由编译器帮您完

成了,所以某些程度上,enum 关键字的作用就像是 class 或 interface  

当您使用“enum”

 

定义 枚举类型时,实质上您定义出來的类型继承自 

java.lang.Enum 类型,而每个枚举的成员其实就是您定义的枚举类型的一個

实例(Instance),他们都被

 

预设为 final,所以您无法改变他们,他们也是 

static 成員,所以您可以通过类型名称直接使用他们,当然最重要的,它們

都是公开的(public

 

)。

 

静态导入:
a) import static com.shengsiyuan.common.Common.Age; 
b) import static com.shengsiyuan.common.Common.output; 
表示导入 Common 类中的静态成员变量 AGE 以及静态方法 output。注意:

使用 import static

 

时,要一直导入到类中的静态成员变量或静态方法。

Java 中,无论生成某个类的多少个对象,这些对象都会对应于同一个 Class

 

对象。

要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类。使用静

态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这

 

些静态成员无需再给出他们的类名 不过,过度使用这个特性也会一定程度上

 

降低代码的可读性

反射 Reflect

1.

Class 类:

Class

 类的实例表示

 

正在运行的 Java 应用程序中的类和接

任何类都有对应的运行期的 Class 对象,两种方法获得

运行期的此类的对象。用 Class 类类型的引用表示某个类运

行期的类名字。

a

.

如:Claa<?> classType = Class.forName(“className”);

classType 表示(className 类)运行期的类的对象的引用。

b. Claa<?> classType =className.class;

2.

 

基本的 Java 类型

(boolean、byte、char、short、int、long、float 和 
double

 

)和关键字 void 

 

也表示为 Class 对象。

 

如 int.class

常用方法:

public

 Method[]

 getDeclaredMethods()