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.男);
    }
}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值