我有班级"买家"和类#34;地址",我在地址中有一个构造函数,我可以输入信息,我也有一个方法来更改信息。所以在我的班级买家我有一个构造函数,我可以给买家一个名字,并创建一个地址对象,但后来我试图在"买家"从类Address更改对象的值,但它不是按照它的意图工作。感谢您的帮助。
类地址的本质部分
public class Address{
private String street;
public Address(){
Keyboard k = new Keyboard();
Street = k.readString("Type in the Street: ");
}
public void change(){
Keyboard k = new Keyboard();
String str;
System.out.println("If you do not wish to change the street, please just press enter.");
str = k.readString("type in the Street: ");
if (log.equals(""))
str = str;
else
street = str;
}
然后我尝试在买家做同样的事情
public class Buyer{
private String name;
private Address address;
public buyer(String nm){
name = nm;
this.address = new Address();
}
public void changeAdress(){
new Address().change();
}
答案 0 :(得分:1)
public void changeAdress(){
new Address().change();
}
不对。
您的代码应如下所示:
地址类
public class Address{
private String street;
public Address(){
Keyboard k = new Keyboard();
street = k.readString("Type in the Street: ");
}
public void change(){
Keyboard k = new Keyboard();
String str = "";
System.out.println("If you do not wish to change the street, please just press enter.");
str = k.readString("type in the Street: ");
if (log.equals(""))
str = str;
else
street = str;
}
}
买方类
public class Buyer{
private String name;
private Address address;
public Buyer(String nm){
name = nm;
address = new Address();
}
public void changeAdress(){
address.change();
}
}
答案 1 :(得分:0)
您必须将新地址设置为等于地址()。更改:
public void changeAddress() {
address = (new Address()).change();
}
答案 2 :(得分:0)
在这里,您可以创建Address
类的新实例并更改其字段。
public void changeAdress(){
new Address().change();
}
而是将其更改为address.change()