如何为 class 中的参数创建 get 和 set 方法?
How to create get and set methods for parameters in a class?
我有一个 class 我创建的。
public class mailCustomer {
public static void main(String[] args) {
String Name;
int Id;
String Address;
Boolean IsPack;
}
}
我需要为我的参数 Name、Id、Address、IsPack 创建获取和设置方法。
我该怎么做,我在哪里写它们?在 "main" 方法之后?在 "main" 方法中?
public static void main(String[] args) {
String Name;
int Id;
String Address;
Boolean IsPack;
}
您不能为它们创建 getter 和 setter,因为它们不是在您的 class 中创建的,而是在您的 main 方法中本地创建的。你想要的是:
public class MyClass{
String Name;
int Id;
String Address;
Boolean IsPack;
// getter for Name
public String getName(){
return this.Name;
}
// setter for Name
public void setName(String name){
this.Name = name;
}
public static void main(String[] args) {
}
}
对于这些,您将能够创建 getter 和 setter。
不过,(最有可能)最好将它们声明为私有。
另外:遵循命名约定可以帮助其他人更轻松地阅读您的代码。 Name(大写N)更适合作为a的名称class,而name(小写n)是变量的名称。
首先,您需要在 class 级别声明变量,以便可以在 class 中的任何地方使用它们。然后,您只需为每个变量创建一个 set 和 get 方法,就像这样
public class MailCustomer {
String name;
int id;
String address;
boolean isPack;
public static void main(String[] args) {
}
public void setName(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setAddress(String address) {
this.address = address;
}
public void setIsPack(boolean isPack) {
this.isPack = ispack;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public String getAddress() {
return address;
}
public boolean getIsPack() {
return isPack;
}
}
您的命名约定似乎也有点混乱。在 java 中,class 名称是大写的,而变量和方法名称是驼峰式
首先,从那里删除主要方法。您正在创建一个名为 mailCustomer 的 class,它将为您创建 object
类型的 mailCustomer。
为此,您需要三样东西:属性(那里有)、构造函数和 get/set 方法。我将通过示例向您展示,您可以从那里进行指导。我的 class 将是 'Rabbit',它将有:
属性
-String eyes: 眼睛颜色。
-弦乐比赛:从哪里来。
构造函数
它将有一个构造函数,将使用两个参数。
方法
每个属性都有两个 getter 和两个 setter。
这是我的代码 class:
public class Rabbit{
//Attributes
private String eyes;
private String race;
//Constructor
public Rabbit(String colour, String where){
this.eyes = colour;
this.race = where;
}
//Methods get/set
public String getEyes(){
return this.eyes;
}
public String getRace(){
return this.race;
}
public void setEyes(String colour){
this.eyes = colour;
}
public void setRace(String where){
this.race = where;
}
}
如您所见,您将使用 get 方法 return 来自 class 的特定属性;如果您想更改已创建对象的其中一个属性(在我的例子中,来自已创建的 'Rabbit'),将使用 set 方法。
稍后,如果您想使用此 class,您将在创建 'Rabbit' class 的同一个包中创建 Main class。
package rabbit;
public static void main(String[] args){
Rabbit George = new Rabbit("brown","spanish");
}
现在试着用你的 class 来做这件事。希望对你有帮助!
前面已经说过了,看来你对面向对象编程不熟悉。它不在乎。我只想说,使用 lombok 使用注释自动生成 getter 和 setter 可以节省大量时间并提高 类 可读性。你可以在这里找到一个例子:LOMBOK
我有一个 class 我创建的。
public class mailCustomer {
public static void main(String[] args) {
String Name;
int Id;
String Address;
Boolean IsPack;
}
}
我需要为我的参数 Name、Id、Address、IsPack 创建获取和设置方法。 我该怎么做,我在哪里写它们?在 "main" 方法之后?在 "main" 方法中?
public static void main(String[] args) {
String Name;
int Id;
String Address;
Boolean IsPack;
}
您不能为它们创建 getter 和 setter,因为它们不是在您的 class 中创建的,而是在您的 main 方法中本地创建的。你想要的是:
public class MyClass{
String Name;
int Id;
String Address;
Boolean IsPack;
// getter for Name
public String getName(){
return this.Name;
}
// setter for Name
public void setName(String name){
this.Name = name;
}
public static void main(String[] args) {
}
}
对于这些,您将能够创建 getter 和 setter。 不过,(最有可能)最好将它们声明为私有。 另外:遵循命名约定可以帮助其他人更轻松地阅读您的代码。 Name(大写N)更适合作为a的名称class,而name(小写n)是变量的名称。
首先,您需要在 class 级别声明变量,以便可以在 class 中的任何地方使用它们。然后,您只需为每个变量创建一个 set 和 get 方法,就像这样
public class MailCustomer {
String name;
int id;
String address;
boolean isPack;
public static void main(String[] args) {
}
public void setName(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setAddress(String address) {
this.address = address;
}
public void setIsPack(boolean isPack) {
this.isPack = ispack;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public String getAddress() {
return address;
}
public boolean getIsPack() {
return isPack;
}
}
您的命名约定似乎也有点混乱。在 java 中,class 名称是大写的,而变量和方法名称是驼峰式
首先,从那里删除主要方法。您正在创建一个名为 mailCustomer 的 class,它将为您创建 object
类型的 mailCustomer。
为此,您需要三样东西:属性(那里有)、构造函数和 get/set 方法。我将通过示例向您展示,您可以从那里进行指导。我的 class 将是 'Rabbit',它将有:
属性
-String eyes: 眼睛颜色。
-弦乐比赛:从哪里来。
构造函数
它将有一个构造函数,将使用两个参数。
方法
每个属性都有两个 getter 和两个 setter。
这是我的代码 class:
public class Rabbit{
//Attributes
private String eyes;
private String race;
//Constructor
public Rabbit(String colour, String where){
this.eyes = colour;
this.race = where;
}
//Methods get/set
public String getEyes(){
return this.eyes;
}
public String getRace(){
return this.race;
}
public void setEyes(String colour){
this.eyes = colour;
}
public void setRace(String where){
this.race = where;
}
}
如您所见,您将使用 get 方法 return 来自 class 的特定属性;如果您想更改已创建对象的其中一个属性(在我的例子中,来自已创建的 'Rabbit'),将使用 set 方法。
稍后,如果您想使用此 class,您将在创建 'Rabbit' class 的同一个包中创建 Main class。
package rabbit;
public static void main(String[] args){
Rabbit George = new Rabbit("brown","spanish");
}
现在试着用你的 class 来做这件事。希望对你有帮助!
前面已经说过了,看来你对面向对象编程不熟悉。它不在乎。我只想说,使用 lombok 使用注释自动生成 getter 和 setter 可以节省大量时间并提高 类 可读性。你可以在这里找到一个例子:LOMBOK