很困惑!!求大神指导

来源:7-1 什么是 Java 中的封装

qq_何必忙著為自己解釋_03169832

2016-10-07 14:01

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回答

  • 慕粉3992849
    2016-10-07 14:19:56
    已采纳

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


    qq_何必忙...

    谢谢!

    2016-10-07 14:27:49

    共 2 条回复 >

Java入门第二季 升级版

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

530553 学习 · 6091 问题

查看课程

相似问题