更多学习资料戳!!!
既然 Object 类是所有对象的父类,则所有的对象都可以向 Object 进行转换,在这其中也包含了数组和接口类型,即一切的引用数据类型都可以使用 Object 进行接收。
范例:使用 Object 接收接口实例
interface A{ //定义接口A
public String getInfo(); //定gs义抽象方法
}
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 ; //对象向上转型
A x = (A)obj ; //对象向下转型
System.out.printIn(x.getInfo()) ;
}
}
复制代码
程序运行接货:
hello world!!!
通过以上代码可以发现,虽然接口不能继承一个类,但是依然是 Object 类的子类,因为接口本身是引用数据类型,所以可以进行向上转型操作。
同理,也可以使用 Object 接收一个数组,因为数组本身也是引用数据类型。
范例:使用 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") ;
}
}
}
|
}
复制代码
程序运行结果:
1 3 5 7 9
以上程序使用 Object 接收一个整型数组,因为数组本身属于引用数据类型,所以可以使用 object 接收数组内容,在输出时通过 instanceof 判断类型是否是一个整型数组,然后进行输出操作。
提示:Object 类在实际开发中的作用
因为 Object 类可以接受任意的引用数据类型,所以在很多的类库设计上都采用 Objec 作为方法的参数,这样操作起来会比较方便。
评论