枚举和静态导入

枚举,里面的值就是枚举类型的,枚举里面也是可以定义main方法的.我们所定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public static final的。

public enum Color{Red,White,Blue,Blace}表明Color这个枚举类型它有四个对象,而且只有四个,在编译的时候就已经确定好的了.我们不能在运行的时候又去产生出新的枚举对象.

我们所定义的每个枚举类型都继承自java.lang.Enum类,它也可以有成员变量,有构造方法,而在编译的时候就已经确定好的了,那如何传,就用penny("hello"),nickel("world")这样去传.即在枚举里面它所定义的对象就是它的实例.它不像普通类一样可以随便生成对象的.

举例代码如下:

public enum Coin
{
 penny("hello"), nickel("world"), dime("welcome"), quarter("hello world");//这个还必须写到最前面
 
 private String value;
 
 public String getValue()
 {
  return value;
 }
 
 Coin(String value)//构造方法,它里面的参数如何传?因为对象是编译的时候就已经确定好了的,所以要用上面的那几个对象
 {
  this.value = value;
 }
 
 public static void main(String[] args)
 {
  Coin coin = Coin.quarter;//你不能够在这里给他传一个参数,只能用它本来在编译的时候就已经确定好的实例
  
  System.out.println(coin.getValue());
 }
}

 

EnumSet与EnumMap

enum FontConstant
{
 Plain, Bold, Italilc, Hello
}

public class EnumSetDemo
{
 public static void main(String[] args)
 {
  EnumSet<FontConstant> enumSet = EnumSet.of(FontConstant.Plain);//注意的是它加入set的方式和其他set是不一样的.
  
  showEnumSet(enumSet);
  
  System.out.println("-------");
  
  showEnumSet(EnumSet.complementOf(enumSet));
 }
 
 
 public static void showEnumSet(EnumSet<FontConstant> enumSet)
 {
  for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();)
  {
   System.out.println(iter.next());//如果加入了所有的实例,遍历的时候出现的顺序是跟在枚举里面他声明的那些对象出现的顺序是一样的.在这里会打印出plain,Bold,Italilc,Hello以这种顺序打印出来
  }
 }
}

静态导入:
a) import static com.shengsiyuan.common.Common.Age;
b) import static com.shengsiyuan.common.Common.output;
8. 表示导入Common类中的静态成员变量AGE以及静态方法output。注意:使用import static时,要一直导入到类中的静态成员变量或静态方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjsuge

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值