Java 重载方法不更改对象中的值

Java 重载方法不更改对象中的值,java,methods,Java,Methods,因此,我在main类中有两个重载方法,我正试图使用它们来设置对象的值。这些方法是从另一个类使用的,但它似乎没有做任何事情。当我使用显示方法时,它会打印出Customer的原始值,而不是该方法设置的新值 public class Customer { int customerID = 0; String name = "Name required"; String address = "Address required"; String phoneNumber =

因此,我在
main
类中有两个重载方法,我正试图使用它们来设置对象的值。这些方法是从另一个类使用的,但它似乎没有做任何事情。当我使用显示方法时,它会打印出
Customer
的原始值,而不是该方法设置的新值

public class Customer {
    int customerID = 0;
    String name = "Name required";
    String address = "Address required";
    String phoneNumber = "Phone Required";
    String eMail = "email optional";

    public void setCustomerInfo(int ID, String nm, String addr, String phn) {
        int customerID = ID;
        String name = nm;
        String address = addr;
        String phoneNumber = phn;
    }

    public void setCustomerInfo(int ID, String nm, String addr, String phn, String mail) {
        int customerID = ID;
        String name = nm;
        String address = addr;
        String phoneNumber = phn;
        String eMail = mail;
    }

    public void display() {
        System.out.println("Customer ID: " + customerID);
        System.out.println("Customer Name: " + name);
        System.out.println("Customer Address: " + address);
        System.out.println("Customer Phone Number: " + phoneNumber);
        System.out.println("Customer Email Address: " + eMail);
    }
}
-

但程序会打印来自客户实例的初始值:

Name required
Customer ID: 0
Customer Name: Name required
Customer Address: Address required
Customer Phone Number: Phone Required
Customer Email Address: email optional
Customer ID: 0
Customer Name: Name required
Customer Address: Address required
Customer Phone Number: Phone Required
Customer Email Address: email optional

方法将值分配给局部变量,而不是类成员。将其更改为:

public void setCustomerInfo(int ID, String nm, String addr, String phn) {

    customerID = ID;
    name = nm;
    address = addr;
    phoneNumber = phn;
}

public void setCustomerInfo(int ID, String nm, String addr, String phn, String mail) {

    customerID = ID;
    name = nm;
    address = addr;
    phoneNumber = phn;
    eMail = mail;
}

方法将值分配给局部变量,而不是类成员。将其更改为:

public void setCustomerInfo(int ID, String nm, String addr, String phn) {

    customerID = ID;
    name = nm;
    address = addr;
    phoneNumber = phn;
}

public void setCustomerInfo(int ID, String nm, String addr, String phn, String mail) {

    customerID = ID;
    name = nm;
    address = addr;
    phoneNumber = phn;
    eMail = mail;
}