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]