标签:Java String Season name 枚举 println public desc
枚举
自定义类实现枚举
// 1.将构造器私有化,防止直接new
// 2.去掉set方法,防止属性被修改
// 3.再Season内部直接创建固定的对象
// 4.优化,可以加入final修饰符
// 5.可以提供get方法,但不能提供set方法
public class Enumeration_02 {
public static void main(String[] args) {
System.out.println(Season.SPRING);
System.out.println(Season.SUMMER);
System.out.println(Season.AUTUMN);
System.out.println(Season.WINTER);
}
}
class Season {
private String name;
private String desc;//描述
public static final Season SPRING = new Season("春天", "温暖");
public static final Season WINTER = new Season("冬天", "寒冷");
public static final Season SUMMER = new Season("夏天", "炎热");
public static final Season AUTUMN = new Season("秋天", "凉爽");
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
enum关键字实现枚举
public class Enumeration_03 {
public static void main(String[] args) {
System.out.println(Season.SPRING);
System.out.println(Season.SUMMER);
System.out.println(Season.AUTUMN);
System.out.println(Season.WINTER);
System.out.println(Season.What);
}
}
enum Season {
// 1.使用enum代替class
// 2.public static final Season SPRING = new Season("春天","温暖")
// 直接使用SPRING("春天", "温暖")替代
// 常量名(实参列表)
// 3.如果有多个常量(对象),使用“,”间隔即可
// 4.如果使用enum来实现枚举,要求将定义的常量对象写在前面
// 5.如果使用的是无参构造器,创建常量对象则可以省略()
SPRING("春天", "温暖"),
SUMMER("夏天", "火热"),
AUTUMN("秋天","凉爽"),
WINTER("冬天","寒冷"),
What;
private String name;
private String desc;//描述
Season() {
System.out.println("无参构造器");
}
private Season(String name, String desc) {
this.name = name;
this.desc = desc;
}
public String getName() {
return name;
}
public String getDesc() {
return desc;
}
@Override
public String toString() {
return "Season{" +
"name='" + name + '\'' +
", desc='" + desc + '\'' +
'}';
}
}
注意事项
1.使用enum关键字开发一个枚举时,默认会继承Enum类[ 通过javap可知]
标签:Java,String,Season,name,枚举,println,public,desc 来源: https://blog.csdn.net/zouhaolu/article/details/120848015
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。