java.lang.Object类
类Object是类层次结构的跟(最顶层)类每个类都使用Object作为父(超)类
所有对象(包括数组)都实现这个类的方法
Person类默认继承了0bject类,所以可以使用object类中的tostring方法
string tostring()返回该对象的字符串表示。
看一类是否重写了toString方法,直接打印这个类对应的名字即可
如果没有重写toString方法那么打印的就是对象的地址值(默认)
如果重写toString方法那么就按重写的方式打印
例子:
private String name; private int age; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + '}'; } public Person(String name, int age) { this.name = name; this.age = age; } public Person() { } 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 static void main(String[] args) { Person person = new Person("张三",18); String s = person.toString(); System.out.println(s); System.out.println(person); Random random = new Random(); System.out.println(random); Scanner scanner = new Scanner(System.in); System.out.println(scanner); ArrayList<Integer> list = new ArrayList<Integer>(); list.add(123); list.add(456); list.add(789); System.out.println(list); }
Object类的equals方法
Person类黑默t认继承了0bject类,所以可以使用object类的equals方法
boolean equals(object obj)指示其他某个对象是否与此对象“相等”。
object类equals方法的源码:
pubiic booLean equals(0bject obj) {
return (this '-- obj);
}
参数:obJect obJ:可以传递任意的对象
方法体:
==:比权运异付,返口的就量一个币小值true ,false
基本数据类型:比较的是值
引用数据类型:比较的是两个对象的地址值
默认比较的是地址值。
例子:
Person p1 = new Person("张三",18); Person p2 = new Person("赵四",18); p1=p2; boolean equals = p1.equals(p2); System.out.println(equals);