public class Room { private String description; public Room(String description) { this.description = description; } public static void main(String[] args){ Room in=new Room("城外"); System.out.println(in); } }
输出:Room@61de33
我想问的是:怎么让输出的是对象的描述,即“”城外“”!用toString也不行。
public class Room {
private String description;
public Room(String description) {
this.description = description;
}
public static void main(String[] args){
Room in=new Room("城外");
System.out.println(in.description);
}
}
在输入时应该用in.description,而不是in。in是对象,是类中属性的堆内存的存储地址,堆内存的存储地址在栈内存中存储。in指向的是栈内存的地址,所以说输出in显示的是属性的地址。而in.description指的是in对象的description属性所以输出时“城外”,另外toString是数组转化成字符串输出时使用的。