本文共 2440 字,大约阅读时间需要 8 分钟。
问题:
一些方法在运行时,它需要的数据类型不能是任意的,而必须是一定范围内的值 解决方案: 自定义一个类,限制别人随意创建对象
/* * 问题: * 一些方法在运行时,它需要的数据类型不能是任意的,而必须是一定范围内的值 * 解决方案: * 自定义一个类,限制别人随意创建对象 * 代码如下: *//* 自定义一个性别类,限制着别人任意创建该类的对象 */class Gender{ String value; //存储性别 //对外提供本类的对象 public static final Gender man = new Gender("男"); public static final Gender woman = new Gender("女"); //私有化Gender类,使外部不能直接创建该类对象 private Gender(String value){ this.value = value; }}class Person{ String name; Gender sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public Gender getSex() { return sex; } public void setSex(Gender sex){ this.sex = sex; } @Override public String toString() { return "姓名:"+this.name +",性别:"+this.sex.value; } }public class Demo3 { public static void main(String[] args) { Person p = new Person(); p.name = "狗娃"; p.setSex(Gender.man); System.out.println(p); }}
一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,这时我们就可以是使用枚举类型进行限制
一年四季、方向、性别
enum 类名{ }
//定义一个方向enum Direction{ UP("上"),DOWN("下"),LEFT("左"),RIGHT("右"); //枚举值 String value; //定义一个成员变量 public void print(){ //定义一个方法 System.out.println("value:"+value); } private Direction(String value){ this.value = value; }}public class Enum { public static void main(String[] args) { Direction.UP.print(); }}
//性别的枚举类enum Gender1{ MAN("男"),WOMAN("女"); String value; private Gender1(String value){ this.value = value; }}class Person1{ String name; private Gender1 sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public Gender1 getSex() { return sex; } public void setSex(Gender1 sex) { this.sex = sex; } @Override public String toString() { return "姓名:"+this.name+",性别:"+this.sex.value; } }public class Demo4 { public static void main(String[] args) { Person1 p = new Person1(); p.name = "张三"; p.setSex(Gender1.MAN); System.out.println(p); }}
转载地址:http://ognyl.baihongyu.com/