java自学 Object类

来源:互联网 发布:java中怎么表示sinx 编辑:程序博客网 时间:2024/05/22 19:54
Object类
1、object类是所有类的父类,只要是引用数据类型都可以使用object进行接收
2、对象在进行向下转型之前一定要先发生向上转型,要使用instanceof关键字判断
3、tostring():对象打印的时候调用
4、equals():对象比较时候使用

5、String类也是Object类的子类

Object类是所有类的父类, 则所有类的对象都可以使用Object接收,但是Object不管可以接收对象,还可以接受任意的数据类型

使用Object接收接口实例

interface A{public String getInfo();}class B implements A{public String getInfo(){// 覆写方法return "Hello World!!!" ;}};public class ObjectDemo04{public static void main(String args[]){A a = new B() ;// 向上转型,为接口实例化Object obj = a ;// 使用Object接收,向上转型A x = (A)obj ;// 向下转型System.out.println(x.getInfo()) ;}};

数组实际上也可以使用Object类使用进行接收

public class ObjectDemo05{public static void main(String args[]){int temp[] = {1,3,5,7,9} ;// 定义数组Object obj = temp ;// 使用Object接收数组print(obj) ;}public static void print(Object o){if(o instanceof int[]){// 判断是否是整型数组int x[] = (int[])o ;for(int i=0;i<x.length;i++){System.out.print(x[i] + "\t") ;}}}};




对象比较

class Person{private String name ;// 定义name属性private int age ;// 定义age属性public Person(String name,int age){this.name = name ;this.age = age ;}public boolean equals(Object obj){if(this==obj){// 地址相等return true ;// 肯定是同一个对象}if(!(obj instanceof Person)){// 不是Person对象return false ;}Person per = (Person) obj ;// 向下转型if(per.name.equals(this.name)&&per.age == this.age){return true ;// 依次比较内容}else{return false ;}}public String toString(){return "姓名:" + this.name + ";年龄:" + this.age ;}};public class ObjectDemo03{public static void main(String args[]){Person per1 = new Person("李兴华",30) ; // 实例化PersonPerson per2 = new Person("李兴华",30) ; // 实例化PersonSystem.out.println(per1.equals(per2)?"是同一个人!" : "不是同一个人!") ;System.out.println(per1.equals("hello")?"是同一个人!" : "不是同一个人!") ;}};



原创粉丝点击