getters和setters是如何工作的?
我来自php世界。你能解释一下什么是 getter 和 setters,并能给你一些例子吗?
我来自php世界。你能解释一下什么是 getter 和 setters,并能给你一些例子吗?
本教程并不是真正需要的。阅读有关封装的信息
private String myField; //"private" means access to this is restricted to the class.
public String getMyField()
{
//include validation, logic, logging or whatever you like here
return this.myField;
}
public void setMyField(String value)
{
//include more logic
this.myField = value;
}
在Java中,getters和setter是完全普通的函数。唯一使他们成为围棋或二传手的是惯例。foo 的 getter 称为 getFoo,setter 称为 setFoo。在布尔值的情况下,getter 称为 isFoo。它们还必须具有特定的声明,如以下“name”的 getter 和 setter 示例所示:
class Dummy
{
private String name;
public Dummy() {}
public Dummy(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
使用 getter 和 setter 而不是公开成员的原因是,它可以在不更改接口的情况下更改实现。此外,许多使用反射来检查对象的工具和工具包只接受具有 getter 和 setter 的对象。例如,JavaBeans必须具有getters和setter以及其他一些要求。