一个初学JAVA返回值的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 09:31:24
class Person
{
private String name;
private int age;
public Person (String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()
{
return "姓名:"+this.name+",年龄:"+this.age;
}
}
public class Lianxi
{
public static void main (String args [])
{
Person p1=new Person("张三",33);
Person p2=new Person("张三",33);
System.out.println(p1.equals(p2));
}
}

//中的public Person(Strin name,int age)
//为什么可以不用返回值

public Person()是构造函数, 使用new Person()方法创建对象的时候调用, 进行对象的初始化操作, 所以不能有返回指, 是一类特殊的方法。

输出应该为false, 自定义的对象, 需要覆盖Object超类里面的equals方法, 才能正确的返回结果, 最好同时实现hashCode()方法。

public boolean equals(Object obj) {
if(!(obj instanceof Person)) {
return false;
}
Person p2 = (Person)obj;
if(this.name.equals(p2.getName()
&& this.age == p2.getAge()) {
return true;
}
return false;
}

//中的public Person(Strin name,int age)
//为什么可以不用返回值

这个一个构造方法; 不能用于返回值;.
每当类被实例化的时候,就执行该类的构造方法;

因为这是构造方法 是没有返回值的 程序在运行到Person p1=new Person("张三",33); 时调用
public Person(Strin name,int age)方法

因为它是构造方法,就是实例化对象时调用的。它没有返回值。

这是构造函数,是没有反回值的。