Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final
笔记:
import java.lang.*;
/**一:枚举类 : enum Season implements info { s1(),s2(),s3(),s4() }; //s1--s4 放在Season类的最上面!
* 1.1.values() 返回一个包含整体的数组!
* 2.valueof(String name),返回对应name的类, 必须是枚举类对象的名字,否则报错!
* 3.实现接口,重写抽象方法 ,不同的枚举类可以有不同的方法
*/
枚举类代码:
interface info{
void show();
}
enum Season implements info{
Spring ("spring","春暖花开"){
@Override
public void show() {
//super.show();
System.out.println("春天在哪里!");
}
},
Summer("spring","夏日炎炎"){
public void show(){
System.out.println("夏荷才露尖尖角!");
}
},
Autumn("spring","秋高气爽"){
@Override
public void show() {
// super.show();
System.out.println("秋天像个傻子");
}
},
Winter("spring","白雪皑皑"){
@Override
public void show() {
super.show();
System.out.println("冬天来了,年来了!");
}
};
//1.提供类的属性,声明为private finall
private final String seasonName;
private final String seasonDesc;
//2.声明为final属性,在构造器中初始化
Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//3.创建枚举类
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.创建枚举类的对象为:public static final ,全局的常量
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
@Override
public void show() {
System.out.println("这是一个季节!");
}
}
public class Test_enum {
public static void main(String[] args) {
//1.values()
Season[] seasons= Season.values();
for(int i=0;i<seasons.length;i++)
System.out.println(seasons[i]);
//2.valueof(String name),必须是枚举类对象的名字,否则报错!
String str="Winter";
Season s1=Season.valueOf(str);
System.out.println("\n"+s1);
//2.1枚举Thread 的几个方法
System.out.println("\n"+"Thread枚举类的所有方法: ");
Thread.State[] states = Thread.State.values();
for(int i=0;i<states.length;i++)
System.out.print(states[i]+"\t");
System.out.println();
//3.实现接口,重写抽象方法
}
}
输出:
Season{seasonName='spring', seasonDesc='春暖花开'}
Season{seasonName='spring', seasonDesc='夏日炎炎'}
Season{seasonName='spring', seasonDesc='秋高气爽'}
Season{seasonName='spring', seasonDesc='白雪皑皑'}
Season{seasonName='spring', seasonDesc='白雪皑皑'}
Thread枚举类的所有方法:
NEW RUNNABLE BLOCKED WAITING TIMED_WAITING TERMINATED
手动创建等价的枚举类:
// 手动创建'枚举类',
class Season{
//1.提供类的属性,声明为private finall
private final String seasonName;
private final String seasonDesc;
//2.声明为final属性,在构造器中初始化
public Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
//3.创建枚举类
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
//4.创建枚举类的对象为:public static final ,全局的常量
public static final Season Spring = new Season("spring","春暖花开");
public static final Season Summer = new Season("spring","夏日炎炎");
public static final Season Autumn = new Season("spring","秋高气爽");
public static final Season winter = new Season("spring","白雪皑皑");
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
Java 基础 enum枚举类 的创建/使用/接口继承 ,以及手动创建枚举类的对象为:public static final的更多相关文章
- JAVA基础复习与总结<四> 抽象类与接口
抽象类(Abstract Class) 是一种模版模式.抽象类为所有子类提供了一个通用模版,子类可以在这个模版基础上进行扩展.通过抽象类,可以避免子类设计的随意性.通过抽象类,我们就可以做到严格限制子 ...
- Java基础知识笔记第六章:接口
接口 /* 使用关键字interface来定义一个接口.接口的定义和类的定义很相似,分为接口声明和接口体 */ interface Printable{ final int max=100; void ...
- Java基础知识强化18:抽象类、接口的区别 和 选择性实现接口方法
1.抽象类和接口的区别 抽象类里面可以有非抽象的方法(可以没有抽象方法),接口里只能有抽象方法. 抽象类中的抽象方法声明时不能有大括号,而接口中的所有方法都没有大括号. 抽象类(abstract c ...
- java基础知识(6)---抽象类与接口
抽象类: abstract抽象:不具体,看不明白.抽象类表象体现.在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所 ...
- JAVA基础部分复习(四、抽象类与接口)
抽象类与接口的定义: package cn.review.day02; /** * 抽象类 * 定义: * 1.抽象类使用关键字abstract修饰 * 2.抽象方法必须定义在抽象类中,抽象方法没有方 ...
- 【Java关键字-Interface】为什么Interface中的变量只能是 public static final
三个关键字在接口中的存在原因:public:接口可以被其他接口继承,也可以被类实现,类与接口.接口与接口可能会形成多层级关系,采用public可以满足变量的访问范围: static:如果变量不是sta ...
- Java接口中的成员变量为什么必须声明为public static final?
我想对于每个Java程序员来说,接口都不陌生,接口中的方法也经常使用.而接口中的成员变量,就显得用得少一点,而对于成员变量为什么必须声明为public static final,可能就更不清楚了,而且 ...
- 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?
为什么java的接口的方法是public abstract修饰? 1.首先要明白接口的定义和作用是什么: 接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修 ...
- 在JAVA中利用public static final的组合方式对常量进行标识
在JAVA中利用public static final的组合方式对常量进行标识(固定格式). 对于在构造方法中利用final进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这 ...
随机推荐
- Golang 异常/日志处理
1.xerrors 异常 xerrors 包是一个非常棒的设计,不同于往常语言如java/php,因为go的errors只是一个string类型的映射,所以内存占用空间很少.这在golang的核心库和 ...
- 移动架构-AOP面向切面编程
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点, ...
- 最新 第一视频java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.第一视频等10家互联网公司的校招Offer,因为某些自身原因最终选择了第一视频.6.7月主要是做系统复习.项目复盘.Leet ...
- sqlserver交换数据行中的指定列
<!-- 次序上移下移 --> <update id="upOrDown" parameterType="java.util.Map"> ...
- java访问磁盘文件
转载,务必写上原文链接 !(尊重与你分享知识的人) 目录 文件 File 对象 VS FileDescriptor 对象 文件讲解java访问磁盘文件过程 fileReader.read() 图解ja ...
- 汉字在unicode中的位置
在www.unicode.org中查找汉字.china找不到,后来查资料才明白,应该查CJK,为什么内? unicode这个组织吧中国日本韩国的字合并了 中日韩统一表意文字(CJK Unified ...
- 关于typecho发布文章后的错位
今天发布了一篇文章,发布后发现,what?主页错位了,安装控制变量法知道,肯定是这篇文章有什么不可告人的秘密. 所以,顺便使用一下二分法查找一下为啥,最后找到是因为使用了---------->( ...
- Maven web项目创建
一.New →Other →Maven→Maven Module 二.填入Module Name 三.选择maven-archetype-webapp 四.填入Group Id.Artifact Id ...
- elasticsearch 集群详解
ES为什么要实现集群 在单台ES服务器节点上,随着业务量的发展索引文件慢慢增多,会影响到效率和内存存储问题等. 如果使用ES集群,会将单台服务器节点的索引文件使用分片技术,分布式的存放在多个不同的物理 ...
- (十五)struts2之注解
一.作用 以用来替换struts.xml配置文件 使用前提 :必须引入struts2-convention-plugin-2.3.14.jar 这个jar包 二.参数 @Action来代替<ac ...