class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public void info()
{
System.out.println("此人名为:" + name);
}

}
public class PrintObject
{
public static void main(String[] args) 
{
//创建一个Person对象,将之赋给p变量
Person p = new Person("孙悟空");
//打印p所引用的Person对象
System.out.println(p);
}
}
在末尾,为什么写成System.out.println(p.info());会不行呢?class

解决方案 »

  1.   

    p.info()的返回值是void类型。println()没有此对应的重载方法。
      

  2.   

    p.info没有返回值,无法打印,改成以下这样class Person {
    private String name; public Person(String name) {
    this.name = name;
    } public void info() {
    System.out.println("此人名为:" + name);
    }}public class PrintObject {
    public static void main(String[] args) {
    // 创建一个Person对象,将之赋给p变量
    Person p = new Person("孙悟空");
    p.info();
    }
    }
      

  3.   

    你的info方法是void的好不····要不直接调用info就好··干嘛用syso
      

  4.   

    1楼正解
    直接p.info()就好了啊。