// 测试枚举类的get方法
System.out.println(Season.SPRING.getId()+“-”+Season.SPRING.getDesc());
// 测试枚举类,及实例实现的抽象方法
Season.SPRING.info();
Season.SUMMER.info();
Season.SPRING.test();
// switch判断的参数可以传入byte,short,char,int,String,枚举类类型数据
switch(Season.SPRING){
case WINTER:
System.out.println(“switch winter”);
break;
case SUMMER:
System.out.println(“switch summer”);
break;
case FALL:
System.out.println(“switch fall”);
break;
case SPRING:
System.out.println(“switch spring”);
break;
default:
System.out.println(“输入非合法季节”);
}
}
}
// 使用enum关键字定义的枚举类,默认继承java.lang.Enum类
// 枚举类实现接口
// 枚举类包含抽象方法,系统会隐式加abstract修饰,但不能显式加abstract
enum Season implements Info{
// 枚举类实例必须定义在枚举类定义中第一行,实例间以逗号隔开,以分号结束。
// 枚举类实例其实是实例名, 类似于 Season SPRING = new Season();
// 枚举类实例默认使用public static final修饰,即public static final SeaSon SPRING = new Season();
// 枚举类实例后面是否跟参数,取决与构造器定义
SPRING(1,“春”){
@Override
public void test() {
System.out.println(“测试春天”);
}
},
// 枚举类实现接口,也可以基于枚举类实例来重写接口抽象方法
// 枚举类包含抽象方法,只能基于枚举类实例来重写抽象方法
/**
-
基于枚举类实例重写抽象方法,其实是定义枚举类的匿名内部类,即枚举类的子类实例
-
public static final SUMMER = new Season(){
-
重写抽象方法
-
}
*/
SUMMER(2,“夏”){
@Override
public void info() {
System.out.println(“这是夏天”);
}
@Override
public void test() {
System.out.println(“测试夏天”);
}
},
FALL(3,“秋”){
@Override
public void info() {
System.out.println(“这是秋天”);
}
@Override
public void test() {
System.out.println(“测试秋天”);
}
},
WINTER(4,“冬”){
@Override
public void info() {
System.out.println(“这是冬天”);
}
@Override
public void test() {
System.out.println(“测试冬天”);
}
};
// 枚举类的成员变量建议使用private final修饰
private final int id;
private final String desc;
// 枚举类的构造器只能使用private修饰,private可以省略
private Season(int id,String desc){
this.id = id;
this.desc = desc;
}
// 枚举类只提供get方法,不提供set方法
public int getId(){
return id;
}
public String getDesc(){
return desc;
}
// 枚举类实现接口可以基于类来实现接口的抽象方法
public void info(){
System.out.println(“这是季节枚举类”);
}
// 枚举类包含抽象方法
public abstract void test();
}
interface Info{
void info();
}
思考题
===
1.枚举类是否可以派生子类?
需要分情况讨论
①抽象枚举类可以派生子类
②非抽象枚举类不可以派生子类
具体枚举类啥时候是抽象的,啥时候是非抽象的请看3
2.枚举类的构造器是私有的,那么枚举类如何派生子类? 我们知道子类的构造器最终(子类构造器重载时,总会有一个构造器第一行或隐式调用父类构造器)都会调用父类构造器,但是子类不能访问父类私有成员,而枚举类的构造器是私有。
注意只有抽象枚举类可以派生子类,非抽象枚举类不能派生子类。
我们还需要知道枚举类第一行必须定义该枚举类的实例。
对于抽象枚举类,如定义抽象方法的枚举类
enum Season{
SPING{
public void test(){
System.out.println(“spring”);
}
},
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后的最后
面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
需要完整面试题的朋友可以点击蓝色字体免费获取
jpg" />
最后的最后
面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。
需要完整面试题的朋友可以点击蓝色字体免费获取
[外链图片转存中…(img-sJyzS8MI-1712372404185)]
[外链图片转存中…(img-HJBba2eG-1712372404186)]
[外链图片转存中…(img-LwoOHq32-1712372404186)]
[外链图片转存中…(img-qGgQwvUI-1712372404186)]