Object 所有java类的父类
object o = 任何对象
object类中的方法 是 所有对象都具有的方法
getClass();返回对象的实际类型 Class对象(反射)
toString():public String toString()
返回对象的字符串形式 打印对象 等同于打印对象的toString()方法的返回值
import java.util.Locale.Category;
public class TestObject {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
/*if((a1 instanceof Dog && a2 instanceof Dog)||(a1 instanceof Cat && a2 instanceof Cat )) {
System.out.println("是同类");
}
else {
System.out.println("不是同类");
}*/
//返回对象的实际类型 getClass()
if(a1.getClass()==a2.getClass()) System.out.println("是同类");
else System.out.println("不是同类");
Student s = new Student("张三",18);
System.out.println(s);
System.out.println(s.toString());
}
}
class Animal{}
class Dog extends Animal{}
class Cat extends Animal{}
class Student{
private String name;
private int age;
public Student(String name,int age) {
super();
this.name = name;
this.age = age;
}
public String toString() {
return "姓名是"+name+"年龄"+age;
}
}
super和this区别是:this可以看做一个引用变量,保存了该对象的地址,是当前对象整体,而super代表的是父类型特征,是子类局部的一些东西,这些继承过来的东西已经在子类里面了,你可以输出整体this,但不能输出父类型特征super。因为super指向的东西不是一个整体,没法打印输出。