Java-Object类与对象的转型(Java ObjectDemo)

    xiaoxiao2025-08-31  1

    //手机 请 上下左右 滑动屏幕 观看更全 ! //package Main; /** * * @Explain(说明): * Object是所有类的默认超类,并且提供有可以覆写的toString和equals方法, * 可以接收所有类的对象和数组进行相应的处理, * @time(时间):2019/04/22 * @role(谁):东方神祇(杨) * * @modify(修改) * @time: * @role: */ public class ObjectDemo { public static void main(String args[]){ Object obj = new objectClass1() ; //向上转型 Object obj1 = new int [] {1,2,3} ; //向上转型 int dataArray [] = (int [])obj1 ; //向下转型 if(obj1 instanceof int []) //instanceof一个二元操作符和Java的保留关键字。 // 它的作用是测试它左边的对象是否是它右边的类的实例, // 返回 boolean 的数据类型。 // 说白啦就是用于比较后者是否为前者的实例化类型对象。 for(int tmp:dataArray) System.out.print(tmp) ; toStringClass tostr = new toStringClass("杨木发好帅!",21) ; System.out.println(tostr) ;//因为toString被覆写改动所以直接输出对象时不再是对象的地址。 equalsClass eqc = new equalsClass("杨",21) ; equalsClass eqc1 = new equalsClass("杨",18) ; equalsClass eqc2 = new equalsClass("杨",18) ; System.out.println(eqc.equals(eqc1)); System.out.println(eqc.equals(null)); System.out.println(eqc.equals("mufahaoshuai!")); System.out.println(eqc1.equals(eqc2)); } } class objectClass1{ public objectClass1(){ System.out.println("objectClass嘞构造"); } } class objectClass2{ public objectClass2(){ System.out.println("objectClass2嘞构造"); } } //toString是Object的方法,有因为所有类皆为Object的子类所以可对其覆写。 //在我们直接输出对象的时候默认下就是调用toString方法,其输出的是一个地址 //如果对这个方法加以覆写改进,即,可以取代info方法, class toStringClass{ private String name ; private int age ; public toStringClass(String name,int age){ this.name = name ; this.age = age ; } @Override public String toString(){ // 覆写toString return "姓名:"+this.name+"、年龄:"+age ; } } class equalsClass{ //Object中的equals比较的是对象的地址, //(String中的equals比较的是内容(区分大小写)但因也是覆写Object类中的equals方法, // 才会得到此比较内容的功能),现在我们希望在调用equals对对象与对象的比较中 // 不进行默认的地址比较而是进行内容比较,此时我们就得覆写Object的equals方法。 private String name ; private int age ; public equalsClass(String name,int age){ this.name=name ; this.age=age ; } //覆写Object的equals方法。 public boolean equals(Object obj/*表示可以接收任何类*/){ if(this==obj) return true ; if(obj==null) return false ; if(!(obj instanceof equalsClass)) return false ; equalsClass ec =(equalsClass) obj ; //把传入的Object类型的向下转型成equals类型的类以获取取equals类的name和age属性 return this.name.equals(ec.name)&&this.age==ec.age ; } }

    /*--------------------- 作者:灭世奶神 本文链接:https://blog.csdn.net/qq_36823679/article/details/90583250

    版权声明:       本文为博主原创文章,转载请附上源文链接!

     如果觉得我的论文对您有用,您的请评论点赞与  合理优质的转发也将是鼓励支持我继续创作的动力! ---------------------*/

    最新回复(0)