10.Object类
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                10.Object类
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                
                            
                            
                            在JAVA中,所有的類(lèi)都直接或間接繼承了Java.lang.Object類(lèi)Object是一個(gè)特殊的類(lèi),他是所有類(lèi)的父類(lèi),是Java類(lèi)層中的最高層類(lèi)。當(dāng)創(chuàng)建一個(gè)類(lèi)時(shí),他總是在繼承,除非某個(gè)類(lèi)已經(jīng)指定要從其他類(lèi)繼承,否則他就是從java.lang.Object類(lèi)繼承而來(lái),可見(jiàn)所有的類(lèi)都源于java.lang.Object類(lèi),如String,Integer類(lèi)都是繼承Object類(lèi);除此之外,自定義的類(lèi)也都繼承于Object類(lèi)。所有的類(lèi)都是Object子類(lèi)。 在Object類(lèi)中主要包括clone(),finalize(),equals(),toString()等方法,其中常用的兩個(gè)方法為equals()和toString()方法。由于所有的類(lèi)都是Object類(lèi)的子類(lèi),所以任何類(lèi)都可以重寫(xiě)Object類(lèi)中的方法。 在Object類(lèi)中的getClass(),notify(),notifyAll(),wati()等方法不能被重寫(xiě),因?yàn)檫@些方法被定義為final類(lèi)型。 1.getClass() 返回對(duì)象執(zhí)行時(shí)的class實(shí)例,然后使用此實(shí)例調(diào)用getName()方法可以取得類(lèi)的名稱(chēng)。 getClass().getname(); 2.toString()方法 toString()方法的功能是將一個(gè)對(duì)象返回為字符串形式,他會(huì)返回一個(gè)String實(shí)例。在實(shí)際應(yīng)用中通常重寫(xiě)toString()方法,為對(duì)象提供一個(gè)特定的輸出模式。當(dāng)這個(gè)類(lèi)轉(zhuǎn)換為字符串或與字符串連接時(shí),將自動(dòng)調(diào)用重寫(xiě)的toString()方法。  public class demo{ public String toString() {//重寫(xiě)toString()方法  return "在"+getClass().getName();  }  public static void main(String[] args) {  System.out.println(new demo());  }  } 重寫(xiě)父類(lèi)Object的toString()方法,定義一段字符串。單個(gè)用戶打印類(lèi)對(duì)象時(shí),將自動(dòng)調(diào)用toString()方法。 3.equals()方法 "=="比較的是兩個(gè)對(duì)象引用是否相等 equals()判斷兩個(gè)字符串對(duì)象是否相等 blic class demo{ public static void mian(String[] args){ String s1=”123“; String s2="123"; system.out.println(s1.equals(s2));//true system.out.println(s1.equals(s2));//false } } 在自定義類(lèi)中使用equals()方法默認(rèn)實(shí)現(xiàn)是使用"=="運(yùn)算符比較兩個(gè)對(duì)象的引用地址,而不是比較對(duì)象的內(nèi)容,所以要想真正做到比較兩個(gè)對(duì)象的內(nèi)容,需要自定義類(lèi)中重寫(xiě)equals()方法。 此處類(lèi)比字符串上的equals,此處是系統(tǒng)定義的字符串類(lèi) equals(String ?otheString) String?a=new?String("hello"); String?b=new?String("hello"); ?boolean?c=a.equals(b); System.out.println(c);//true V v1=new V(); V v2=new V(); system.out.println(V1.equals(2));//false 自定義類(lèi)默認(rèn)的是對(duì)比兩個(gè)對(duì)象的引用地址 4.使用Object類(lèi)接收任意對(duì)象的引用 package ceshi;  class Person {  } public class Test {  public static void main(String[] args) { ????? Object obj = new Person();//一個(gè)操作可能接收所有類(lèi)的對(duì)象,那么Object作為參數(shù)最適合 Person per = (Person) obj; } }   
                        
                        
                        ?
轉(zhuǎn)載于:https://www.cnblogs.com/cainame/p/10092001.html
總結(jié)
以上是生活随笔為你收集整理的10.Object类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 梦到金耳钉断了什么意思
 - 下一篇: 梦到前男友一家人是怎么回事