Android Studio为你提供了一个帮助菜单来为class 字段生成getters和setters。
下面是如何为Javaclass 字段生成getters和setters:
- 在Mac上按
command + N - 在Windows和Linux中按
Alt + Insert。
在下面的截图中,你可以看到在Generate菜单中突出显示了Generatesetter和getter选项:

Android Studio生成getter和setter选项
](android-studio-generate-getter-setter.png)
你也可以通过在代码编辑器中右击你的class 内的任何地方,并选择生成...选项来达到相同的菜单。
一个上下文菜单应该出现,如下图所示:

Android Studio生成上下文菜单
另外,你也可以使用顶栏的代码菜单来为一个类生成获取器和设置器。
代码 > 生成... > 获取器和设置器
在Getter和Setter菜单里面,选择所有你想生成getters和setters方法的字段,然后点击OK。
你应该看到在你的代码中生成的获取器和设置器,如下图所示:
public class User {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
这就是你如何为一个Java类生成获取器和设置器。
为Kotlin类生成获取器和设置器
默认情况下,Kotlin会自动为你所有的类属性生成getters和setters。
当你在Kotlin中定义以下代码时:
class Profile {
var name: String = "Nathan"
var age: Int = 29
}
获取器和设置器将在你的class ,像这样自动生成:
class Person {
var name: String = "Nathan"
var age: Int = 29
// getter
get() = field
// setter
set(value) {
field = value
}
}
在Kotlin中,不需要手动定义getters和setters来获取class 属性或属性值。
下面的Java代码:
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
相当于下面的Kotlin代码:
var name: String = ""
在Kotlin中,class 字段(或属性)总是通过该类的getter和setter访问。当你运行classname.property = value 赋值时,内部会调用set() 函数。
当你试图使用classname.property 语法来获取属性值时,那么get() 函数就会被调用。
没有必要像Java那样用public 访问器/突变器创建private 属性。
由于这个原因,Android Studio没有提供一个选项来为Kotlin类生成getters和setters。
有时,你可能想把设置器设置为私有的,以防止在类之外进行更改。你可以用下面的代码来做:
class Profile {
var name: String = "Nathan"
private set
var age: Int = 29
private set
}
你需要为每个属性单独设置设置器的访问级别。
现在你已经学会了如何在Android Studio的帮助下生成getters和setters方法。干得好!👍