写点什么

软件测试 | Object 类 - 接收任意引用类型的对象

  • 2023-08-10
    北京
  • 本文字数:1140 字

    阅读完需:约 4 分钟

更多学习资料戳!!!

既然 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 作为方法的参数,这样操作起来会比较方便。

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | Object类-接收任意引用类型的对象_测试_测吧(北京)科技有限公司_InfoQ写作社区