zoukankan      html  css  js  c++  java
  • 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.男);
        }
    }
    
  • 相关阅读:
    web api中允许跨域访问
    HTTP Error 500.19
    使用SQL语句时应该注意的一些问题
    关于EsayUI中datagrid重复提交后台查询数据的问题
    EF6中使用事务的方法
    jquery中常用的方法和注意点
    在EF中正确的使用事务
    css解决移动端1px边框问题
    判定 JS 数据类型的最佳解决方案
    将伪数组转化为真数组
  • 原文地址:https://www.cnblogs.com/TCB-Java/p/6809632.html
Copyright © 2011-2022 走看看