我有三个班级:
import java.util.Date;
public class CustomerData
{
private String FirstName;
private String LastName;
private int TaxId;
private String HomePhone;
private String WorkPhone;
private String HomeAddress;
private Date Dob;
private String EmployerName;
private boolean isEmployed;
private String ProDescription;
private String IsSameAsPrevious;
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public int getTaxId() {
return TaxId;
}
public void setTaxId(int taxId) {
TaxId = taxId;
}
public String getHomePhone() {
return HomePhone;
}
public void setHomePhone(String homePhone) {
HomePhone = homePhone;
}
public String getWorkPhone() {
return WorkPhone;
}
public void setWorkPhone(String workPhone) {
WorkPhone = workPhone;
}
public String getHomeAddress() {
return HomeAddress;
}
public void setHomeAddress(String homeAddress) {
HomeAddress = homeAddress;
}
public Date getDob() {
return Dob;
}
public void setDob(Date dob) {
Dob = dob;
}
public String getEmployerName() {
return EmployerName;
}
public void setEmployerName(String employerName) {
EmployerName = employerName;
}
public boolean isEmployed() {
return isEmployed;
}
public void setEmployed(boolean isEmployed) {
this.isEmployed = isEmployed;
}
public String getProDescription() {
return ProDescription;
}
public void setProDescription(String proDescription) {
ProDescription = proDescription;
}
public String getIsSameAsPrevious() {
return IsSameAsPrevious;
}
public void setIsSameAsPrevious(String isSameAsPrevious) {
IsSameAsPrevious = isSameAsPrevious;
}
}
public class MainCntrlr {
public static void main(String[] args)
{
CustomerData customerData=new CustomerData();
customerData.setFirstName("RAVI");
customerData.setLastName("Shekhar");
customerData.setHomePhone("123456789");
customerData.setWorkPhone("1256554634");
customerData.setHomeAddress("Banagalore");
customerData.setEmployerName("ABc");
customerData.setProDescription("New Produtc");
customerData.setTaxId(1233434343);
ContrOne ctr=new ContrOne();
ctr.displayInformation();
}
}
import com.blr.CustomerData;
public class ContrOne
{
public void displayInformation()
{
CustomerData cd=new CustomerData();
System.out.println("displaying customer Info");
System.out.println(cd.getFirstName());
System.out.println(cd.getLastName());
System.out.println(cd.getHomePhone());
System.out.println(cd.getWorkPhone());
System.out.println(cd.getEmployerName());
System.out.println(cd.getProDescription());
System.out.println(cd.getDob());
System.out.println(cd.getTaxId());
}
}
输出是:
displaying customer Info
null
null
null
null
null
null
null
0
答案 0 :(得分:7)
在方法ContrOne.displayInformation()
中,您可以创建一个新的new CustomerData()
对象。因此它未正确初始化。也许您想将customerData
方法中的main
传递给displayInformation
?
答案 1 :(得分:2)
您正在CustomerData
课程中创建MainCntrlr
对象,但未将其传递给ContrOne
课程。 ContrOne
正在创建自己的CustomerData
对象并打印其值为null的值。
一种可能的解决方案是更改displayInfo
的签名,并将CustomerData
对象从MainCntrlr类传递给此方法。
其他几点要注意
MainCntrlr
和ContrOne
类。toString
课程中的CustomerData
()方法。答案 2 :(得分:2)
您的ContrOne.displayInformation()
将CustomerData()
新对象实例化为cd
,但从不填充其中的字段。
如果您希望ContrOne
显示信息,请执行以下操作:
public class ContrOne {
public void displayInformation(CustomerData cd) {
System.out.println("displaying customer Info");
System.out.println(cd.getFirstName());
System.out.println(cd.getLastName());
System.out.println(cd.getHomePhone());
System.out.println(cd.getWorkPhone());
System.out.println(cd.getEmployerName());
System.out.println(cd.getProDescription());
System.out.println(cd.getDob());
System.out.println(cd.getTaxId());
}
}
并在MainCntrlr
public static void main(String[] args) {
CustomerData customerData=new CustomerData();
customerData.setFirstName("RAVI");
customerData.setLastName("Shekhar");
customerData.setHomePhone("123456789");
customerData.setWorkPhone("1256554634");
customerData.setHomeAddress("Banagalore");
customerData.setEmployerName("ABc");
customerData.setProDescription("New Produtc");
customerData.setTaxId(1233434343);
ContrOne ctr=new ContrOne();
ctr.displayInformation(customerData);
}