java
Java-java教程
小猪微信公众平台源码,vm ubuntu界面大小,爬虫搜索怎么写,宜兴php,泰州来客seolzw
《java视频教学》苹果开源网站源码,ubuntu找网络设置,tomcat是编程语言吗,谷歌爬虫人机,php与mysql报错提示,SEO精准匹配lzw
案例引入chromium源码下载,vscode引入js快捷键,ubuntu 版本比较,tomcat 两jdk吗,python爬虫mfc,php 斯芬克斯,seo网站基本信息怎么写,淘宝客网站主题lzw
定义一个color,只能定义红、绿、蓝三种颜色普通方法
那么如何解决这种问题,让color只能在三种颜色中选一种???
Enum类和enum关键字
public enum Color { RED, GREEN, BLUE;}
枚举常用的方法
代码
public class EnumTest { public static void main(String[] args) { //定义一个color变量,只能设置为RED、GREEN、BLUE Color color = Color.BLUE; System.out.println(color); System.out.println(color.name()); System.out.println(color.toString());//三种方式都是打印名字 System.out.println(color.ordinal());//返回枚举的序号RED--0、GREEN--1、BLUE--2 Color[] values = Color.values();//返回所有枚举类型 System.out.println(Arrays.toString(values)); }}
枚举的基本操作带构造方法的枚举
枚举不允许从外部调用,所以只能是private修饰
构造方法只能在对象中调用
public enum Color { RED(10), GREEN(20), BLUE; private int Number;//属性 private Color() {//默认构造方法 System.out.println("无参构造器被调用了!!!"); } private Color(int Number) { this.Number = Number; System.out.println("有参构造器被调用了!!!"); } public int getNumber(){ return Number; }}
主方法
public class EnumTest { public static void main(String[] args) { Color color = Color.RED; System.out.println(color.name()); System.out.println(color.getNumber());//获取Number的值 }}
枚举实现接口
方式1:在枚举对象内部实现接口中的方法
interface info{ public String getColor();}public enum Color implements info{ RED{ @Override public String getColor() {return "红色";} }, GREEN{ @Override public String getColor() {return "绿色";} }, BLUE{ @Override public String getColor() {return "蓝色";} };}
方式2:在枚举类中实现接口中的方法
interface info{ public String getColor();}public enum Color implements info{ RED,GREEN,BLUE; @Override public String getColor() { return null; }}
主方法
public class EnumTest { public static void main(String[] args) { Color color = Color.RED; System.out.println(color.getColor()); }}
枚举实现抽象方法
枚举类
public enum Color { RED{ @Override public String getColor() {return "红色";} }, GREEN{ @Override public String getColor() {return "绿色";} }, BLUE{ @Override public String getColor() {return "蓝色";} }; //在枚举中定义一个抽象方法,通过枚举对象实现 public abstract String getColor();}
主方法
public class EnumTest { public static void main(String[] args) { Color color = Color.BLUE; System.out.println(color.getColor()); }}
枚举实现单例模式
枚举类
public enum Singletion { SINGLETION; public void Method(){ System.out.println("使用枚举实现单例模式!!!"); }}
主方法
public class EnumTest { public static void main(String[] args) { Singletion singletion=Singletion.SINGLETION; singletion.Method(); }}
集合类对枚举的支持EnumSet
代码
import java.util.EnumSet;public class EnumTest { public static void main(String[] args) { EnumSet set = EnumSet.allOf(Color.class);//把一个枚举类型全部填充到集合中去 for (Color c : set) { System.out.println(c.name()); } }}
EnumMap
代码
import java.util.EnumMap;public class EnumTest { public static void main(String[] args) { EnumMap map = new EnumMap(Color.class); map.put(Color.RED, "红色"); map.put(Color.GREEN, "绿色"); map.put(Color.BLUE, "蓝色"); System.out.println(map.get(Color.RED)); }
《java视频教学》