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进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这 ...
随机推荐
- Django面试题(附带答案)
总结的一些Django中会问的问题,希望对你们有用. 1. Django的生命周期 当用户在浏览器输入url时,浏览器会生成请求头和请求体发送给服务端,url经过Django中的wsgi时请求对象创建 ...
- 李宗盛 linux罚写
1.system v init运行级别及作用 init运行级别 作用 0 关机 1 单用户模式 2 多用户的文本界面 3 多用户的文本界面 4 多用户的文本界面 5 多用户的图形界面 6 重启 eme ...
- mysql主从同步原理及错误解决
mysql主从同步的原理: 1.在master上开启bin-log日志功能,记录更新.插入.删除的语句. 2.必须开启三个线程,主上开启io线程,从上开启io线程和sql线程. 3.从上io线程去连接 ...
- ELK实战搭建+x-pack安全认证
阅读目录: ELK日志平台入门简介1.1 ELK原理拓扑图1.2 Elasticsearch安装配置1.3 Kibana安装配置1.4 Kibana汉化及时区修改1.5 Logst ...
- ElasticSearch总结
转载自:https://www.cnblogs.com/WessonStar/p/8296781.html 不过我的es版本是7.2.0,然后这里要注意ik分词器放入plugins里是需要有个ik插件 ...
- 暴力解决HTMLTestRunner出现dict() ->new empty dictionary的问题
在使用ddt数据驱动之后,HTMLTestRunner报告的用例名称之后出现dict() ->new empty dictionary,如下图所示: 经排查,发现是因为ddt源码中test_do ...
- eclipse3.62开发第一个java程序HelloWorld
[学习笔记] 用eclipse3.62开发第一个java程序: 使用eclipse之前们需要先配置一下jdk.window/preference/java/installed JREs,详细请见视频. ...
- 4.JVM 实战操作
1.1 JVM参数 1.1.1 标准参数 -version -help -server -cp 1.1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp ...
- 使用不同代理IP刷票的脚本---requests
投票功能限制刷票是通过限制单个IP的投票次数实现的,所以写了个脚本用于测试此功能. #-*- coding=utf-8 -*- ''' 功能:此脚本用于用不同的IP刷票 作者:Elle 最后修改日期: ...
- 小程序文案过长,‘收起/展开’文字,createSelectorQuery 获取节点成功,boundingClientRect 返回信息null
问题描述: wxml中id是动态生成的. 获取节点信息是在onReady生命周期函数内延时500ms执行的,select(id)可以获取全部节点信息,boundingClientRect (rect) ...