0125 java API object

API 应用程序接口

object是所有java类中的父类(介绍object中两个方法)

1、equals方法

返回值类型Boolean,调用格式equals(object obj);含义:指某个对象是否与此对象相等

例:创建一个Person类

public class Person {

	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public Person() {
		super();
	}
}

  创建一个测试类

public class Demo01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Person p=new Person("小红帽",18);
		Person p2=new Person("小红帽",18);
		//比较两个对象是否相等
		System.out.println(p.equals(p2));
	}

}

  此时的运行结果为false。因为,此时equals对比的p和p2这两个Person对象的地址值,所以是false,如果我们想对比两个对象的内容,则需要重写这个equals方法,在Person类中重写

代码展示:

public boolean equals(Object obj) {
		if(obj==null){
			return false;
		}
		if(obj==this){
			return true;
		}
		// TODO Auto-generated method stub
		if(obj instanceof Person){
			Person p=(Person)obj;
			return this.name.equals(p.name)&&this.age==p.age;
		}
		return false;
		
	}

  这是测试类再运行,运行结果就是true了

2、toString方法

返回值是String类型,返回该对象的字符串表示

依据上述Person类创建一个测试类

public class Demo02 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Person p=new Person("海绵宝宝",21);
		System.out.println(p.toString());
		System.out.println(p);
	}

}

  此时的运行结果为两行地址代码,p.toString()和直接打印p 是一个意思

在Peson类中重写这个方法

代码展示:

public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}

  此时的运行结果为:

Person [name=海绵宝宝, age=21]
Person [name=海绵宝宝, age=21]

posted @ 2021-01-25 16:48  公雪  阅读(132)  评论(0编辑  收藏  举报