Object类
Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另外一个类,那么这个类默认继承Object类。
Object类中的方法,适合所有子类
1. toString()方法
在Objectl类里面定义toString()方法的时候返回的对象的哈希code码(对象地址在字符串)
可以通过重写toString()方法表示出对象的属性
public class Cat extends Animal { public String name="小猫";//子类属性 //使用toString方法进行输出对象属性 @Override public String toString() { return "Animal[name="+name+"]"; }}
public class Initail { public static void main(String[] args) { //创建子类对象 Cat cat=new Cat(); //调用子类方法 System.out.println(cat); }}
2. equals()方法
比较的是对象的引用是否指向同一块内存di地址
public class Initail { public static void main(String[] args) { //创建子类对象1 Cat cat=new Cat(); //创建子类对象2 Cat cat2=new Cat(); if(cat.equals(cat2)){ System.out.println("不相同"); }else { System.out.println("相同"); } }}
在进行引用类型进行判断时,使用==和equals()一样,比较的也是内存地址,双等在进行基本类型的判断时,判断的是基本类型的值是否相等。
但我们想要的是进行比较对象的值是否一样,那么该怎么做?
父类方法不满足子类使用就对其进行重写。
@Override public boolean equals(Object obj) { if (this==obj)//比较两个引用的地址是否相同, // 如果两个地址相同则说明指向了一个对象,两个对象肯定相等 return true; if(obj==null)//如果为空值就不再进行比较 return false; if(getClass()!=obj.getClass())//getClass()可以得到一个类对象 //判断类的类型是否相同 return false; Cat other=(Cat) obj; if (name!=other.name) //最后在进行判断类的值是否相同 return false; return true; }
什么是类对象
我们new一个类得到的是类的对象,对象调用getClass()我们得到是类对象,类对象描述的是类的代码信息,就是这个类有哪些属性,属性的类型,变量名是什么,有哪些方法,方法名是什么。类的对象是对象的数据信息,属性值的信息。我们通常可以通过类对象判断类的类型。
以上就是北大青鸟长沙麓谷校区java培训机构的小编针对“Java object类的常用子类”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。