文章类型的网站模版,济南房产信息网站官网查询,东营网站建设关键字排名问题,九江网站推广项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter11/src/com/yinhai/enum_ 〇、创建时自动填入版权 作者等信息 如何在每个文件创建的时候打入自己的信息以及版权呢
菜单栏-File-setting-Editor-File and Code Templaters -Includes-输入信… 项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter11/src/com/yinhai/enum_ 〇、创建时自动填入版权 作者等信息 如何在每个文件创建的时候打入自己的信息以及版权呢
菜单栏-File-setting-Editor-File and Code Templaters -Includes-输入信息 如下图 一、引出
要求创建季节Season对象请设计并完成
/*** author 银海* version 1.0*/
public class Enumeration01 {public static void main(String[] args) {Season season new Season(spring, worm);Season season1 new Season(winter, cold);Season season2 new Season(summer, hot);Season season3 new Season(autumn, cold);//对于季节而言是固定的四个 不会有更多//因此这样设计不好所以引出枚举类把对象一个个列举出来Season other new Season(asdasdas, ~~~~~~~~~);}
}
class Season{private String name;private String desc;public Season(String name, String desc) {this.name name;this.desc desc;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc desc;}
}
二、两种实现方式
1.自定义类实现枚举 1)不需要提供setXxx方法因为枚举对象值通常为只读. 2)对枚举对象/属性使用final static 共同修饰实现底层优化. 3)枚举对象名通常使用全部大写常量的命名规范 4)枚举对象根据需要也可以有多个属性
public class Enumeration02 {public static void main(String[] args) {System.out.println(Season.AUTUMN);System.out.println(Season.SPRING);System.out.println(Season.SUMMER);System.out.println(Season.WINTER);}
}class Season {private String name;private String desc;//3.在Season内部直接创建对象加上public static//4.优化可以加入final修饰符public final static Season SPRING new Season(春天, 暖);public final static Season WINTER new Season(冬天, 寒冷);public final static Season AUTUMN new Season(秋天, 冷);public final static Season SUMMER new Season(夏天, 热);//1.私有化构造器public Season(String name, String desc) {this.name name;this.desc desc;}//2.去掉set方法 防止被修改public String getName() {return name;}public String getDesc() {return desc;}}小结进行自定义类实现枚举有如下特点 1)构造器私有化 2)本类内部创建一组对象 3)对外暴露对象(通过为对象添加public final static修饰符) 4)可以提供get方法但是不要提供set
2.enum关键字实现枚举引出
public class Enumeration03 {public static void main(String[] args) {System.out.println(Season.AUTUMN);System.out.println(Season.SPRING);System.out.println(Season.SUMMER);System.out.println(Season.WINTER);}}
enum Season {//1.使用enum代替class//2.//常量名(实参列表);//3.如果有多个常量(对象)SPRING(春天, 暖),WINTER(冬天, 寒冷),AUTUMN(秋天, 冷),SUMMER(夏天, 热);//等价于自定义的public final static Season SPRING new Season(春天, 暖);//4.如果使用enum来实现枚举要求将常量对象写在前面private String name;private String desc;private Season(String name, String desc) {this.name name;this.desc desc;}public String getName() {return name;}public String getDesc() {return desc;}}三、enum实现枚举注意事项和细节
1.当我们使用enum关键宇开发一个枚举类时 默认会继承Enum类 使用javap反编译 如何使用javap反编译呢定位class文件使用cmd输入javap 想要反编译的文件.class 2.调用的构造器 传统的public static final Season2 SPRING new Season2(春天温暖); 简化成SPRING(春天温暖)这里必须知道它调用的是哪个构造器注意得是private 3.如果使用无参构造器创建枚举对象则实参列表和小括号都可以省略
4.当有多个枚举对象时使用逗号 间隔最后用一个分号结尾
5.枚举对象必须放在枚举类的行首.
四、课堂练习 正确 调用的是Gender 的无参构造器没有写构造器也隐含在类内
会继承父类Enum本类是没有toString的所以要找父类有没有toString
有名字就是BOY有个疑问开一章节再看看输出true