Getter 和 Setter 方法
Posted
技术标签:
【中文标题】Getter 和 Setter 方法【英文标题】:Getter and Setter methods 【发布时间】:2017-09-09 12:48:33 【问题描述】:我在 Greenfoot 做一个 Java 作业,但我遇到了一个关于 getter 和 setter 方法的问题,我找不到答案。
我被要求为三个属性(姓名、颜色、年龄)编写一个 getter 和 setter 方法,然后使用这些方法:
(a) 保证age不能小于0,age不能大于100
(b) 确保唯一有效的颜色是黑色、白色、棕色和灰色
对我将如何解决这个问题有任何想法或建议吗?
提前致谢
【问题讨论】:
我建议您尽可能多地尝试实施,当您遇到困难时,向我们展示您的尝试并提出具体问题。 这是你的作业吗? 分享你目前为止的尝试? 对于一个,在setter中你可以管理。对于 b,我将创建一个具有所需颜色的枚举并创建该类型的属性 分享您当前的代码,以便我们为您提供帮助 【参考方案1】:我看到你的问题已经有一个非常好的代码答案,所以我将重点解释 getter 和 setter 方法:
getter 方法用于获取属性(也称为字段)。属性通常位于程序的顶部,例如:private int i;我是一个属性。同一类中的所有方法都可以访问属性。因此,在编写 getter 方法时,您只需编写:
public returntype getSomeAtribute()
return someAtribute;
setter方法用于设置一个属性的值,不同类型的属性可以有不同的值,boolean有真假,int有整数,String有文本。要设置 a 的值,您只需通过写入覆盖当前值:
public void setSomeAtribute()
someAtribute = something;
【讨论】:
【参考方案2】:我希望对你有所帮助,这至少会给你一个可见性,你可以随意修改它:
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
【讨论】:
非常感谢您的帮助!真的很感激 @chickencreature 没问题,请采纳!以上是关于Getter 和 Setter 方法的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin类与对象 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )
Kotlin类的初始化 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )