您的位置:首页 > 移动开发 > Objective-C

java中Object类

2018-04-09 16:59 169 查看
1,Object类是所有类的父类
    声明一个类的时候,默认是继承了Object

    public class Hero extends Object
2,toString()
    Object类提供一个toString方法,所以所有的类都有toString方法

    toString()的意思是返回当前对象的 字符串表达式

    通过System.out.println()打印对象就是该对象的toString()返回值public class Hero {
public String name;
protected float hp;

public String toString(){
return name;
}

public static void main(String[] args) {

Hero h = new Hero();
h.name = "盖伦";
System.out.println(h.toString());
//直接打印对象就是打印该对象的toString()返回值
System.out.println(h);
}
}
结果:
盖伦
盖伦3,finalize()
    当一个对象没有任何引用引向的时候,他就满足垃圾回收的条件

    当它被垃圾回收的时候,它的finalize()方法就会被调用

    finalize()不是开发人员主动调用的方法,而是有虚拟机JVM调用的

4,equals()
    equals()用于判断两个对象的内容是否相同

    假设,当两个英雄的hp相同的时候,我们就认为这两个英雄相同
public class Hero {
public String name;
protected float hp;

public boolean equals(Object o){
if(o instanceof Hero){
Hero h = (Hero) o;
return this.hp == h.hp;
}
return false;
}

public static void main(String[] args) {
Hero h1= new Hero();
h1.hp = 300;
Hero h2= new Hero();
h2.hp = 400;
Hero h3= new Hero();
h3.hp = 300;

System.out.println(h1.equals(h2)); //false
System.out.println(h1.equals(h3)); //true
}
}5, ==
    这不是Object的方法,但是用于判断两个对象是否相同

    准确的说,用于判断两个引用,是否指向了同一个对象
public class Hero {
public String name;
protected float hp;

public boolean equals(Object o){
if(o instanceof Hero){
Hero h = (Hero) o;
return this.hp == h.hp;
}
return false;
}

public static void main(String[] args) {
Hero h1= new Hero();
h1.hp = 300;
Hero h2= new Hero();
h2.hp = 400;
Hero h3= new Hero();
h3.hp = 300;

System.out.println(h1 == h2); //false
System.out.println(h1 == h3); //false
}
} 6,hashCode()
7,线程同步相关方法
8,getClass()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: