黑马程序员——枚举类

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

 枚举类

使用enum声明,默认直接继承了java.lang.Enum类,而不是Object类;
枚举类的对象是固定的,实例个数有限,不可以再new( ),枚举对象后可以跟()。
枚举元素必须位于枚举类体中的最开始部分,枚举元素后要有分号与其他成员分隔。
枚举类的构造方法的权限修饰符默认是private;
一旦枚举对象后面加上{},那么该对象实际是枚举匿名内部类对象;
所有枚举类都提供一个静态的values()方法(返回该枚举类所有对象组成的数组),便于遍历所有枚举对象;
所有枚举类都提供一个静态的valueOf(String name)方法, 返回枚举类中对象名等于 name的对象。

Eg:

public enum Color{
	RED(), GREEN(){}, BLUE{};
}

package reviewDemo;
//枚举

enum Color{
	Green,Blue,Yellow;
	
	@Override
	public String toString() {
		String ret = super.toString();
		switch (this) {
		case Green:
			ret = "绿色";
			break;
			
		case Blue:
			ret = "蓝色";
			break;
			
		case Yellow:
			ret = "黄色";
			break;


		default:
			break;
		}
		
		return ret;
	}
	
}


class Personp{
	Color c = Color.Blue;
	void show(){
		System.out.println(c);
	}
}


public class Demo18 {
	public static void main(String[] args) {
		Color []color = Color.values();
		for (Color c : color) {
			System.out.println(c);
		}
		new Personp().show();
	}
}
输出:
绿色
蓝色
黄色
蓝色

枚举类覆写接口抽象方法的两种方式:
在枚举类中实现接口的抽象方法;
在枚举匿名内部类中实现接口的抽象方法;
interface I{
    void show();
}


enum Color implements I{
    RED(){
	public void show(){
        }
    }, GREEN{
	public void show(){
        }
    }, BLUE{
	public void show(){
        }
    };
}


enum Color implements I{
    RED(), GREEN, BLUE;
    public void show() {
    }
}


我的总结:
枚举不可以new();即便是反射也不可以!

备注:一个类如果没有构造方法,那么一定有相对应的某个方法可以获取对象!

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值