hi,我是逸尘,一起学java吧
我们在上个一节学习了继承那么在这一章我们介绍所有类的父类
Object类是Javajava.lang
包下的特殊类,Object类是所有类的父类,何一个类时候如果没有明确的继承一个父类的话,那么它就是Object的子类;
以下两种类的定义的最终效果是完全相同的:
class Person { }
class Person extends Object { }
Object提供了11 个方法
其中最常用的是getClass(),equals()和toString()方法作为菜鸟我们只介绍他们
getClass()
返回对象执行时的Class实列,然后可以用getname的方法去获得类的名称。
toString()
将一个对象返回为一个字符串形式(下一节讲到),String实例。我们通常重写toString()方法,为对象提供一个特定的输出模式。
package com.ydrj.xb;
public class Student {
private int age;
public Student(int age){
this.age=age;
}
@Override
public String toString() {
return "我今年" + age + "岁了";
}
public static void main(String[] args) {
Student xiaoming = new Student(12);
System.out.println(xiaoming.toString());
}
}
equals()
面试易考
在java中有两种比较方式
==运算符和equals()方法·
==比较的是两个对象引用内存地址是否相同
ps: "=”是赋值的意思
equals比较的是两个对象实际的内容是否相同,一般情况下,重写之后比较的是对象的值。
package com.ydrj.xb;
public class Student {
int age;
int id;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age && id == student.id;
}
public Student(int age,int id){
this.age=age;
this.id=id;
}
@Override
public String toString() {
return "我今年" + age + "岁了";
}
public static void main(String[] args) {
Student xiaoming = new Student(12,111);
Student 小明=new Student(12,111);
System.out.println(xiaoming.equals(小明));
System.out.println(xiaoming==小明);
}
}