Java面向对象-枚举的定义和特点以及底层分析

转载:http://blog.csdn.net/github_26672553/article/details/53198917

枚举是从Java5开始提供的一种新的数据类型,是一个特殊的类,就是固定的多个常量对象

定义格式:

[修饰符] enum 枚举类名 
{
    常量A,常量B,常量C;
}
  • 1
  • 2
  • 3
  • 4

我们自定义的枚举类型,在编译后(底层),都是直接继承于java.lang.Enum类的。

枚举类的特点

1、枚举的直接父类是java.lang.Enum,但是不能显示的继承Enum 
2、枚举就相当于一个类,可以定义构造方法、成员变量、普通方法和抽象方法 
3、默认私有的构造方法,即使不写访问权限也是private。(假构造器,底层没有无参数的构造器) 
4、每个实例分别用于一个全局常量表示,枚举类型的对象是固定的,实例个数有限,不能使用new关键字。 
5、枚举实例必须位于枚举中最开始部分,枚举实例列表的后面要有分号月其他成员相分隔 
6、枚举实例后有花括号时,该实例是枚举的匿名内部类对象

1、创建一个性别的枚举

package one;
public enum Gender {
male,female;
}

2、创建一个Person类

package one;
public class Person {
String name;
int age;
Gender xb;
void info(){
System.out.println("我的名字叫"+name+",年龄:"+age+" 岁, 姓别为"+xb);
}
}

3、调用

package one;
public class TestPerson {
public static void main(String[] args) {
Person luo=new Person();
luo.name="小明";
luo.age=20;
luo.xb=Gender.female;
luo.info();
}
}


猜你喜欢

转载自blog.csdn.net/myflysun/article/details/79219370