1.定义一个电脑品牌枚举类,其中只有固定的几个电脑品牌。

1.1简单枚举类,不设置属性和方法

package 第十四章枚举;public enum Brand {Lenovo,Dell,Accer,ASN;
}

1.2复杂枚举类,添加属性和方法

package 第十四章枚举;public enum Brand {//可以直接在枚举对象中设置枚举对象添加的属性:如Lenovo,Dell----为属性赋值的方法和普通类相同---相当于使用了有参构造方法//也可以不设置,比如Accer,ASN-----在测试类中,用set方法设置-----相当于使用了无参构造方法,然后再用set赋值Lenovo("联想",5999),Dell("戴尔",5999),Accer,ASN;//枚举可以添加属性和方法private String name;private int price;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}private Brand(String name, int price) {this.name = name;this.price = price;}private Brand() {}@Overridepublic String toString() {return "name="+name+",price="+price;}
}

1.3测试类

package 第十四章枚举;public class Test {public static void main(String[] args) {//枚举类型创建对象//firstBrand brand=Brand.Accer;System.out.println(brand);//secongBrand brand2=Brand.valueOf("Dell");System.out.println(brand2);//获取所有枚举值Brand[] brands=Brand.values();for (Brand brand3 : brands) {System.out.println(brand3);}brand.setName("宏基a系列");brand.setPrice(10000);System.out.println(brand);}
}

2.定义一个Person类,其中包含姓名,年龄,生日,性别,其中性别只能是“男”或“女”

分析:

因为性别只能是“男”或“女”,那么就必须使用到枚举类了

代码:

Person类

package 第十四章枚举;
//姓名,年龄,生日,性别,其中性别只能是“男”或“女”
public class Person {private String name;private int age;private String birthday;private Enum sex;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}public Enum getSex() {return sex;}public void setSex(Enum sex) {this.sex = sex;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + ", birthday=" + birthday + ", sex=" + sex + "]";}public Person(String name, int age, String birthday, Enum sex) {super();this.name = name;this.age = age;this.birthday = birthday;this.sex = sex;}public Person() {super();}}

Sex枚举类

package 第十四章枚举;public enum Sex {男,女;
}

测试类

package 第十四章枚举;public class Test2 {public static void main(String[] args) {//此时性别只能取--sex.女或sex.男Person person=new Person("张三", 18, "9月3日", Sex.女);person.setSex(Sex.男);}
}

Java之枚举----小试牛刀练习相关推荐

  1. 深度分析Java的枚举类型——枚举的线程安全性及序列化问题

    点击关注,快速进阶高级架构师 作者:Hollis 写在前面:Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为 ...

  2. JSP 调用java 常量 枚举

    JSP 调用java 常量 枚举 JAVA:public enum ReimStatus {UNCONFIRMED ("118001"), //未确认 DISPATCH_VERIF ...

  3. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解

    Android @IntDef注解取代Java enum枚举提高性能 为提高Android性能,Android官方建议使用@IntDef注解替代Java的enum枚举.@IntDef的使用给出一个例子 ...

  4. Java Enum 枚举

    Java Enum(枚举)是一个Java类 enum TestEnum{     a("Foo1"),b("Foo2"),c("Foo3") ...

  5. java enum优点_你需要关注的 Java Enum 枚举的几个细节

    枚举是一个非常古老的语言特性,用来实现具名的有限集合,在 C/C++ 中使用广泛.而 Java 在 Java SE5 才引入枚举.也许语言设计者觉得既然是后引入该特性,那么一定要在这个特性上支持比其他 ...

  6. 19、java中枚举

    枚举是什么? 枚举就是将一个有限集合中的所有元素列举出来,在java中使用可以使用enum关键字来声明一个枚举类. 为什么使用枚举? 之前当用到一些常量时,便临时声明一个,这样使得代码看起来很乱,这里 ...

  7. Java中枚举的线程安全性及序列化问题

    转载自  Java中枚举的线程安全性及序列化问题 Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序 ...

  8. java 修改 枚举类字段_枚举枚举和修改“最终静态”字段的方法

    java 修改 枚举类字段 在本新闻通讯中,该新闻通讯最初发表在Java专家的新闻通讯第161期中,我们研究了如何使用sun.reflect包中的反射类在Sun JDK中创建枚举实例. 显然,这仅适用 ...

  9. Java高新技术 枚举

      Java高新技术   枚举 知识概要: (1)为什么要有枚举 (2)枚举的示例 (3)枚举的应用 (4)枚举的高级应用 (1)为什么需要枚举 问题:要定义星期几或性别的变量,该怎么定义? 假设 ...

最新文章

  1. 2012 AndroidWorld Global Developers Conference
  2. 网络推广——网络推广专员如何提升企业网站转化率?
  3. webpack优化相关操作
  4. HTML DOM教程 22-HTML DOM Form 对象
  5. 【Linux系统编程学习】 动态库的制作与使用
  6. 计算机网络学习笔记:第二章
  7. python程序中想使用正则表达式_如何在python中使用正则表达式提取每行中需要的信息...
  8. linux losetup
  9. .Net学习(二):vb.net总结之似曾相识
  10. Python——KNN实战(附详细代码与注解)
  11. 非参数统计 作业(第五章第六章)
  12. 西门子dcs系统组态手册下载_和利时FM148C卡件伊春DCS系统
  13. 基于labview的周立功usbcan盒的研究
  14. MATLAB计算13195的约数,最大约数算法 | Delphi论坛 | Delphi Forum - We Delphi
  15. 微机原理与接口技术考点一文全(待更)
  16. Web组件开发一 分层详解 和模块化
  17. python删除文本框内容_js清除文本框内容
  18. Struts2项目实战 微云盘(七):文件上传下载
  19. 绝对地址、相对地址、/、./、../之间的区别
  20. 职称专业技术工作小结 计算机,申报计算机专业中级职称任职来专业技术工作总结(范文).doc...

热门文章

  1. Kaggle债务违约预测冠军经验分享
  2. 设计模式总结 (4)结构型模式
  3. (chap7 确保WEB安全的HTTPS) HTTPS通信步骤
  4. C++ Primer 5th笔记(chap 13 拷贝控制)实例1
  5. [密码学] 消息认证码构造方法
  6. 【颜值打分小程序】最火爆的“颜值测试”,做还是不做?(疯狂打call)
  7. 【Flask】ORM多对多关联关系
  8. Linux网络配置与命令
  9. linux kernel的spin_lock的详细介绍(以arm64为例)
  10. Celery定时任务异步任务