如何为 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