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();
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值