Object类
在Java中所有的类都有一个公共的父类就是Object类,一个类只要没有明显的继承一个类,那他就是Object类,以下两种代码表示含义相同。
class Person{}
class Person extends Object{}
toString 打印对象信息
public String toString()
{}
equals()方法
equals方法的主要功能主要是完成两个对象的比较
class Person
{
private String name ;
private int age ;
public Person(String name,int age)
{
this.name = name ;
this.age = age ;
}
public boolean equals(Object obj) //定义一个equals方法判断两个对象相等
{
if(this == obj) //地址相等
{
return true ;
}
if(!(obj instanceof Person)) //如果obj不是Person类中对象
{
return false ;
}
Person per = (Person) obj ; //向下转型
if(per.name.equals(this.name)&&per.age ==this.age)
{
return true ; //依次比较内容
}
else
{
return false ;
}
}
}
public class ObjectDemo01
{
public static void main(String[] args)
{
Person per1 = new Person("IronMan",20) ;
Person per2 = new Person("IronMan",20) ;
System.out.println(per1.equals(per2)?"是同一个人":"不是同一个人") ;
}
}
使用Object接收接口实例(Object obj = a ; a为接口实例化 A a =new B())
interface A
{
public String print() ; //定义抽象方法
}
class B implements A
{
public String print()
{
return "Hello World" ;
}
}
public class ObjectDemo02
{
public static void main(String[] args)
{
A a = new B() ; //向上转型,为接口实例化
Object obj = a ; //使用Object接收,向上转型
A x = (A) obj ; //向下转型
System.out.println(x.print()) ;
}
}