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

java中的Object类

2014-08-05 10:23 513 查看
一、在java中所有的类都有一个公共的父类Object,一个类只要没有明显地继承一个类,则肯定是Object类的子类

二、Object类中的主要方法

1、public Object()——构造方法

2、public boolean equals(Object obj)——对象的比较

3、public int hashCode()——取得Hash码

4、public String toString()——对象打印时调用

三、toString()方法

1、对象输出时一定会调用Object类中 toString()方法打印内容

package lkp;

class Demo{

}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Demo d = new Demo();
System.out.println(d);
System.out.println(d.toString());
}

}


2、覆写Object类中的toString()方法

package lkp;

class Person{
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}

public String toString(){//覆写toString()方法
return "姓名" + this.name +"\t"+  "年龄" + this.age;
}
}

class Test{
public static void main(String args []){
Person per = new Person("lkp",23);
System.out.println("个人信息:" + per);
}
}


四、equals()方法

1、实现对象的比较,Object类提供的equals()方法默认是比较地址

package lkp;

class Person{
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
//覆写Object类中的equals()方法
public  boolean equals(Object obj){
//首先,判断传递过来的对象与当前对象的地址是否相同
if(this == obj){
return true;
}
//然后,判断传递过来的对象是否是Person实例
if(!(obj instanceof Person)){
return false;
}
//如果是Person类,则将属性依次比较
Person per = (Person)obj;//将传递过来的对象向下转型
if(per.name.equals(this.name)&&per.age == this.age){
return true;
}
else{
return false;
}
}

//覆写toString()方法
public String toString(){
return "姓名" + this.name + "年龄" + this.age;
}
}

class Test{
public static void main(String args[]){
Person per1 = new Person("lkp",23);
Person per2 = new Person("lkp",23);
System.out.println( per1.equals(per2)?"是同一个人":"不是同一个人");
System.out.println( per1.equals("hello")?"是同一个人":"不是同一个人");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: