[英]How do you create a java object that uses a variable from another class?
如何创建使用另一个类中的变量的Java对象,或调用整个构造函数?
例如,accountNumber,firstName,lastName,phone都是在地址中传递的变量,它们由街道,城市,州和邮政编码组成,并且已经创建:
Address address = new Address(street, city, state, zip);
数据仅包含兆字节,并且已经创建:
Data data = new Data(megabytes);
这是我为客户对象准备的:
Customer customer = new Customer(accountNumber, firstName, lastName, address, phone, data);
这应该是“重载的构造函数”,但是我不明白这是什么意思。
这是我到目前为止的构造函数:
public Customer(String accountNumber, String firstName, String lastName, Address address, int phone, Data megabytes)
{
this.accountNumber = accountNumber;
this.firstName = firstName;
this.lastName = lastName;
this.address = address;
this.phone = phone;
this.megabytes= megabytes;
}
我得到错误:
The constructor Customer(String, String, String, Address, int, Data) is undefined
一切看起来一目了然。 我希望您在编译之前先保存文件。
由于您提到您不了解重载的构造函数是什么,因此我将尽力说明这一点。
重载的构造函数具有相同的构造函数名称,但在以下方面与其他构造函数不同:
这是一个例子-
public class Customer {
private String firstName;
private String lastName;
private int phoneNumber;
public Customer() {
// default constructor
}
public Customer(String firstName) {
this.firstName = firstName;
}
public Customer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public Customer(String firstName, String lastName, int phoneNumber) {
this.firstName = firstName;
this.lastName = lastName;
this.phoneNumber = phoneNumber;
}
public Customer(int phoneNumber, String firstName, String lastName) {
this.phoneNumber = phoneNumber;
this.firstName = firstName;
this.lastName = lastName;
}
// This is not an overloaded constructor as there is already a constructor of type
// Customer(String, String)
// public Customer(String lastName, String firstName) {
// this.lastName = lastName;
// this.firstName = firstName;
// }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.