• Java之枚举----小试牛刀练习


    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() {
        }
    
        @Override
        public String toString() {
            return "name="+name+",price="+price;
        }
    }
    

    1.3测试类

    package 第十四章枚举;
    
    public class Test {
        public static void main(String[] args) {
            //枚举类型创建对象
            //first
            Brand brand=Brand.Accer;
            System.out.println(brand);
            //secong
            Brand 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;
        }
        @Override
        public 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构造方法和重写equals
    JVM,Java虚拟机基础知识新手入门教程(超级通熟易懂)
    ExtJS用Grid显示数据后如何自动选取第一条记录
    java 各种数据类型的互相转换
    提升思考力的8种日常训练法
    Java时间为什么从1970-01-01 00:00:00 000开始
    extjs计算两个DateField所间隔的月份(天数)
    如何快速理解他人代码,提高开发效率
    mybatis使用collection标签配置某个对象中的List集合类型的属性例子 <collection >
    将原有的Maven项目复制成另一个新名称的项目(包括:访问链接的时候也是使用的是新改的名称,而不是使用被复制项目的名称)
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6809632.html
Copyright © 2020-2023  润新知