Getter和Setter方法

时间:2017-04-13 11:50:40

标签: java methods getter-setter greenfoot

我正在Greenfoot中进行Java任务,而且我遇到了一个关于getter和setter方法的问题,我无法找到答案。

我被要求为三个属性(名称,颜色,年龄)编写一个getter和setter方法,然后使用这些方法:

(a)确保年龄不得低于0且年龄不得超过100

(b)确保唯一有效的颜色是黑色,白色,棕色和灰色

有关如何解决此问题的任何想法或建议?

提前致谢

2 个答案:

答案 0 :(得分:1)

我希望对您有所帮助,至少可以提供您的可见性,您可以根据需要进行修改:

public class MyClass {

    private String name;

    private int age;

    private String color;

    private final List<String> colors = Arrays.asList("Black", "White", "Brown ", "Grey");

    public String getName() {
      return name;
    }

    public void setName(String name) {
      this.name = name;
    }

    public String getColor() {
      return color;
    }

    public void setColor(String color) {
      if (colors.contains(color)) {
        this.color = color;
      } else {
        // if not valid do what you want
      }
    }

    public int getAge() {
      return age;
    }

    public void setAge(int age) {
      if (age > 0 && age <= 100) {
        this.age = age;
      } else {
        // if not valid do what you want
      }
    }

  }

答案 1 :(得分:0)

我看到你的问题代码答案已经非常好了,所以我将重点介绍getter和setter方法:

getter方法用于获取属性(也称为字段。)属性通常位于程序的顶部,例如:private int i;我是一个属性。属性可以被同一个类中的所有方法接受。因此,在编写getter方法时,您只需编写:

public returntype getSomeAtribute(){
    return someAtribute; 
}

setter方法用于设置属性的值,不同类型的属性可以有不同的值,boolean有true或false,int有整数,String有文本。要设置a的值,只需写下:

即可覆盖当前值
public void setSomeAtribute(){
   someAtribute = something; 
}