黑马程序员技术交流社区
标题: 关于构造方法的空参数问题。 [打印本页]
作者: 布鲁Go 时间: 2014-1-18 17:05
标题: 关于构造方法的空参数问题。
class Person
{
Person(){
//这里应该写什么,才能让newPerson打印的时候,能打印出空参数。而不是地址。
}
}
class Demo
{
public static voidmain(String[] args)
{
Person p=new Person();
//p.Person();
String s=new String();
System.out.println(p+"::::"+s);//在这里答应的s 是空参数,p 却不是,请问,上面的构造方法也怎么写,才能然p也答应出空参数
}
}
……………………………………………………
作者: 陈文杰 时间: 2014-1-18 17:21
就算这样,s也是指向实体地址。空参数啥情况名字。
作者: 李跃峰 时间: 2014-1-18 17:24
不是在构造函数里写,而是在class Person里复写toString()方法,你直接System打印某个对象实际就是调用它的toString方法
作者: §傻、才乖 时间: 2014-1-18 17:31
在打印一个对象时,默认调用的是toString()方法,而不是在构造函数中做什么
s是一个String类型变量,而String 类中复写了Object中的toString()方法,所以打印的时候按照String类里的toString()方法中的方式打印
而类都继承自Object ,你写的Person类中并没有覆盖Object类中的toString方法,所以打印,还是按照Object类中toString方法的方式打印,即类名@哈希值
作者: wodenhaowzg 时间: 2014-1-18 17:32
打印的是Person@18dd7404这信息吧,这跟数组一样,里面信息就代表着调用的是无参的构造方法,如果你写个有参的,再调用,这个信息就改变了。
直接打印的是Person整体的信息,而String() 是初始化一个新创建的 String 对象,使其表示一个空字符序列。
所以打印出来的是空字符序列
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |