为了账号安全,请及时绑定邮箱和手机立即绑定

很困惑!!求大神指导

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也不行。

正在回答

1 回答

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是数组转化成字符串输出时使用的。


0 回复 有任何疑惑可以回复我~
#1

qq_何必忙著為自己解釋_03169832 提问者

非常感谢!
2016-10-07 回复 有任何疑惑可以回复我~
#2

qq_何必忙著為自己解釋_03169832 提问者

谢谢!
2016-10-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530628    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

很困惑!!求大神指导

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信