博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
枚举类
阅读量:4313 次
发布时间:2019-06-06

本文共 1922 字,大约阅读时间需要 6 分钟。

 A:枚举概述

    * 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。
* B:回想单例设计模式:单例类是一个类只有一个实例
    * 那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类。

Demo1

public static void main(String[] args) {

  Week mon = Week.MON;
  Week tue = Week.TUE;
}

public class Week {

  public static final Week MON = new Week();

  public static final Week TUE = new Week();
  public static final Week WED = new Week();
  private Week(){}//私有构造,不让其它类创建本类对象
}

Demo2

public static void main(String[] args) {

  Week2 mon = Week2.mon;
  Week2 tue = Week2.mon;
  Week2 wed = Week2.mon;
  System.out.println(mon.getName());
  tue.getName();
  wed.getName();
}

有参构造

public class Week2 {

public static final Week2 mon = new Week2("星期一");
public static final Week2 tue = new Week2("星期二");
public static final Week2 wed = new Week2("星期三");
private String name;
private Week2(String name){
this.name = name;
}

public String getName() {

return name;
}
}

Demo3

public static void main(String[] args) {

  Week3 mon = Week3.mon;
  mon.show();
  Week3 tue = Week3.tue;
  tue.show();
  Week3 wed = Week3.wed;
  wed.show();
}

public static final Week3 mon = new Week3("星期一"){

public void show(){
System.out.println("星期一");
}
};
  public static final Week3 tue = new Week3("星期二"){//父类引用指向子类对象
  public void show(){
  System.out.println("星期二");
  };
};
public static final Week3 wed = new Week3("星期三"){
  public void show(){
    System.out.println("星期三");
  }
 };
private String name;
private Week3(String name){
this.name = name;
}

public String getName() {

return name;
}
//编写一个抽象方法
public abstract void show();

 Demo4

public enum Week {

MON("星期一"),TUE("星期二"),WED("星期三");

private String name;

private Week(String name){
this.name=name;
}
public String getName() {
return name;
}
}

 

public static void main(String[] args) {

Week mon = Week.MON;
Week tue = Week.TUE;
Week wed = Week.WED;
System.out.println(mon.getName());
}

转载于:https://www.cnblogs.com/oldfish711/p/8288602.html

你可能感兴趣的文章
第五天站立会议内容
查看>>
CentOs7安装rabbitmq
查看>>
(转))iOS App上架AppStore 会遇到的坑
查看>>
解决vmware与主机无法连通的问题
查看>>
做好产品
查看>>
项目管理经验
查看>>
笔记:Hadoop权威指南 第8章 MapReduce 的特性
查看>>
JMeter响应数据出现乱码的处理-三种解决方式
查看>>
获取设备实际宽度
查看>>
Notes on <High Performance MySQL> -- Ch3: Schema Optimization and Indexing
查看>>
Kafka的安装和配置
查看>>
Alpha冲刺(10/10)
查看>>
数组Array的API2
查看>>
为什么 Redis 重启后没有正确恢复之前的内存数据
查看>>
No qualifying bean of type available问题修复
查看>>
第四周助教心得体会
查看>>
spfile
查看>>
Team Foundation Service更新:改善了导航和项目状态速查功能
查看>>
0x13 链表与邻接表
查看>>
js封装设置获取cookie
查看>>