数据类型只能有2个值吗?或者只有n个值?

时间:2017-05-19 17:35:32

标签: java class variables object

这个问题不会太明显让我解释一下。 我想要一个类

package code;

public class Person {

String Name; //a person has a name
SomeKindOfDatattype gender; //A person has a gender
//i want only 2 possible values of gender that is male or female
}

请简要解释

8 个答案:

答案 0 :(得分:1)

枚举类:

public enum Gender {
    MALE, FEMALE;
}

人员类:

public class Person {

    private String name;
    private Gender gender;

    public Person(String name, Gender gender) {
        this.name = name;
        this.gender = gender;
    }

    @Override
    public String toString() {
        return name + " is " + gender;
    }

}

主要应用:

public class Main {

    public static void main(String[] args) {

        Person person = new Person("Charles", Gender.MALE);
        Person person1 = new Person("Kelly", Gender.FEMALE);

        System.out.println(person.toString());
        System.out.println(person1.toString());

    }
}

<强>输出:

Charles is MALE
Kelly is FEMALE

答案 1 :(得分:0)

使用枚举来满足这种需求。在里面你可以列出所有的值。

答案 2 :(得分:0)

boolean male;

只允许真或假。

Enums还允许值null不是真正的值。

答案 3 :(得分:0)

您可以使用枚举

 public enum Gender{ MALE,FEMALE } 

数据类型将是性别

答案 4 :(得分:0)

如果您的类型必须只有某些值,请使用枚举:

enum Gender {
    MALE, 
    FEMALE
} 

public class Person {
    String Name;

    Gender gender;
}

答案 5 :(得分:0)

您可以定义枚举“Gender”,其中包含值“Male”和“Female” (可嵌入课堂)

public enum Gender{
   MALE, FEMALE
}

可由Gender.MALE

调用

答案 6 :(得分:0)

您可以使用enum,如下所示

enum Gender {
    MALE, FEMALE;
}

这里是一些如何定义和使用它的例子。 https://www.mkyong.com/java/java-enum-example/

答案 7 :(得分:0)

您可以使用枚举来执行您想要的操作。

在这里,您将了解如何继续前进。

Person.java

public class Person{

  private String name; 
  Gender gender; 

  public Person(String name, Gender gender){
    this.name = name;
    this.gender = gender;
 }

  public void display(){

    System.out.println("I'm " + name + " and I'm " + gender);
  }
}

Gender.java

public enum Gender{ Male, Female}

以下是测试代码TestPerson.java

public class TestPerson{

  public static void main(String[] args){

    String name = "Alan";
    Gender gender = Gender.Male;
    Person p = new Person("Alan", gender);
    p.display();
  }
}

代码没有提到包名。我假设所有上面的代码都在同一个包中。您可以根据需要指定包名称。