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进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这 ...
随机推荐
- 搭建一个超好用的 cmdb 系统
10 分钟为你搭建一个超好用的 cmdb 系统 CMDB 是什么,作为 IT 工程师的你想必已经听说过了,或者已经烂熟了,容我再介绍一下,以防有读者还不知道.CMDB 的全称是 Configurati ...
- python中文编码 - python基础入门(5)
python到目前为止,一共有两个版本,分别是2.x和3.x版本,根据官方正式通知2020年停止对python更新和维护,距离今天还有110天左右,所以正在学习python的小伙伴应该暗中庆幸一波. ...
- C语言程序设计II—第十二周教学
第十二周教学总结(13/5-19/5) 教学内容 本周的教学内容为:11.1 知识点:指针数组的概念.11.2 知识点:函数指针.11.3知识点:单链表的基本概念,链表节点的结构定义方法,以及单向链表 ...
- 表单绑定 v-model
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- iOS核心动画高级技巧 - 8
iOS核心动画高级技巧 - 1 iOS核心动画高级技巧 - 2 iOS核心动画高级技巧 - 3 iOS核心动画高级技巧 - 4 iOS核心动画高级技巧 - 5 iOS核心动画高级技巧 - 6 iOS核 ...
- [转帖]超详细的EXPDP、IMPDP规范及常用技巧总结
超详细的EXPDP.IMPDP规范及常用技巧总结 https://www.toutiao.com/i6727232212850180619/ 原创 波波说运维 2019-08-24 00:06:00 ...
- C++:链表(初识链表)
介绍 链表是把若干个对象用指针串联起来,形成一个链状的数据结构,链表在开发中很重要. 1.链表特征:只需要知道一个链表头,就能访问每个节点的对象. 2.链表遍历:通过每个节点指针next来对的下一个节 ...
- Python 【爬虫】
爬虫的工作原理 首先,爬虫可以模拟浏览器去向服务器发出请求: 其次,等服务器响应后,爬虫程序还可以代替浏览器帮我们解析数据: 接着,爬虫可以根据我们设定的规则批量提取相关数据,而不需要我们去手动提取: ...
- Python 【类与对象】
类与对象 把类的个例就叫做实例 (instance),可理解为“实际的例子”类是某个特定的群体,实例是群体中某个具体的个体 Python中的对象等于类和实例的集合:即类可以看作是对象,实例也可以看作是 ...
- 1205: 求一元二次方程的实数根(C)
一.题目 acm.wust.edu.cn/problem.php?id=1205&soj=0 二.分析 一元二次方程有三个系数a.b.c,两个根x1.x2,以及d(德尔塔): a.b.c均为实 ...