Java類與匿名內部類
導讀 | 大家好,這篇文章我們主要向大家介紹Java基礎中的Object類、匿名內部類、構造方法的繼承知識,一起來學習下吧! |
Object類是所有類的父類,所有類都繼承Object類。
toString()方法:這個方法用的比較多,它是返回該物件的字串,一般子類會覆蓋;
getClass()方法:返回Object執行的型別;
equals()方法:判斷物件的內容是否相等;
finalize()方法:這個方法主要用來釋放資源。這個方法用的少,無法確定什麼時候呼叫。
hashCode()方法:返回這個物件的雜湊值;
notify()方法:這個方法是喚醒在這個物件上等待的某個執行緒;
notifyAll()方法:這個方法是喚醒在這個物件上等待的所有執行緒;
wait()方法:當前執行緒等待這個物件的鎖,它是具有這個物件的鎖。wait()方法表示一直等待,一直到得到鎖或被中斷。wait(long timeout)設定一個超時間隔,如果在規定時間內沒有獲得鎖就返回。
clone()方法:保護方法,實現物件的淺複製。當實現了Cloneable介面才能夠呼叫這個方法,不然會丟擲異常。
例如:
//定義水果類 class Fruit{ double weight=10;//定義weight屬性為重量 //定義info()方法 void info(){ System.out.println("我是一個水果,重量為:"+weight+"g!"); } } public class p32 { public static void main(String[] args) { // TODO Auto-generated method stub Fruit f=new Fruit();//建立Fruit類物件 System.out.println(f.toString());//呼叫toString方法 } }
執行的結果是:
從上面程式碼中,在輸出的語句中是呼叫了Fruit物件的toString()方法。這個Fruit類是繼承Object類,在Object定義了toString()方法,輸出這個物件的資訊。
//定義水果類 class Fruit{ double weight=10;//定義weight屬性為重量 //重寫Object類的toString()方法 public String toString(){ return "我是一個水果,重量為:"+weight+"g!"; } } public class p32 { public static void main(String[] args) { // TODO Auto-generated method stub Fruit f=new Fruit();//建立Fruit類物件 System.out.println(f.toString());//呼叫toString方法 } }
執行的結果是:
從上面程式碼中,在定義的水果類中重寫Object類的toString()方法,Fruit類是繼承Object類,輸出該物件的資訊。
匿名內部類簡單來說就是不知道這個類的名字。建立匿名內部類,只要呼叫一次就可以了。
new 類名(引數) | 父介面() { // 匿名內部類的類體部分 }
//定義水果類介面 interface Fruit{ double weight=30;//定義weight屬性為重量 void info();//定義抽象方法 } public class p33 { public static void main(String[] args) { // TODO Auto-generated method stub //定義匿名內部類作為引數傳給fruitInfo()方法 fruitInfo(new Fruit(){ //實現info()方法 public void info(){ System.out.println("我是一個水果,重量為"+weight+"g!"); } }); } //定義靜態方法fruitInfo() public static void fruitInfo(Fruit f){ f.info();//呼叫物件f的info()方法 } }
執行的結果是:
從上面程式碼中,首先是定義了水果類介面,定義了weight屬性和info()抽象方法。在呼叫fruitInfo方法,把方法的引數寫在new Fruit(){}相當於例項化物件,把物件傳給fruitInfo方法。在大括號裡面是子類匿名。
① 子類是可以無條件地繼承父類的無引數的構造方法;
② 如果子類自己沒有構造方法,將繼承父類的無引數構造方法成為自己的構造方法;如果子類自己定義了構造方法,當在建立新物件時,它將先執行繼承父類的無引數構造方法,然後再執行自己的構造方法。
③ 對於父類的含引數的構造方法,子類在自己構造方法中用“super”關鍵字來呼叫它,在這個呼叫語句需要是子類構造方法的第一個可執行語句。
//定義父類 class Father{ public Father(){ System.out.println("父類..."); } public Father(String name){ System.out.println("父類名字為:" + name); } } //定義子類繼承父類 class Son extends Father{ public Son(){ super("Tom"); System.out.println("子類..."); } } public class p39 { public static void main(String[] args) { // TODO Auto-generated method stub Son son = new Son();//建立Son的例項物件 } }
執行的結果是:
本文主要介紹了Object類、匿名內部類、構造方法的繼承。
Object類是所有類的父類,所有類都繼承Object類。介紹了Object類的一些方法,透過Object類例子和重寫Object類toString()方法例子幫助理解用法。
匿名內部類簡單來說就是不知道這個類的名字。建立匿名內部類,只要呼叫一次就可以了。
構造方法的繼承介紹了它的特點,透過他的例子來了解這個構造方法的繼承。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2758068/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java內部類詳解--匿名內部類Java
- java內部類之成員內部類之匿名內部類Java
- Java內部類和匿名內部類的用法Java
- java內部類,區域性內部類,靜態內部類,匿名內部類Java
- 10-Java內部類——成員內部類、區域性內部類、匿名內部類Java
- Java基礎10---包、內部類、匿名內部類Java
- 匿名內部類
- Java_介面回撥與匿名內部類Java
- java之內部類(InnerClass)----非靜態內部類、靜態內部類、區域性內部類、匿名內部類Java
- Java中的匿名內部類及內部類的二三事Java
- java培訓教程:什麼是匿名內部類?怎樣建立匿名內部類?Java
- java匿名內部類:“ 儂好,世界”Java
- 匿名內部類理解
- Java的特殊類用法:檔案類、內部類、本地類、匿名類Java
- 深入理解java巢狀類和內部類、匿名類Java巢狀
- java中的匿名內部類總結Java
- 匿名內部類泛型泛型
- Java之區域性匿名內部類物件Java物件
- 關於java匿名內部類初始化法Java
- 用匿名內部類實現 Java 同步回撥Java
- java內部類之成員內部類Java
- Java 內部類與閉包Java
- Java 內部類Java
- Java內部類Java
- java內部類之成員內部類之區域性內部類Java
- 匿名內部類中關於new Runnable ( )
- Java內部類詳解-- 成員內部類Java
- java內部類,為什麼需要內部類?Java
- 使用內部和匿名類最佳化Java程式碼(轉)Java
- Java中的巢狀類、內部類、靜態內部類Java巢狀
- Java內部類詳解--區域性內部類Java
- java內部類之成員內部類例項Java
- 10、Java——內部類Java
- java內部類案例Java
- 搞懂 JAVA 內部類Java
- Java--內部類Java
- java的內部類Java
- scala_繼承、型別判斷、抽象類、匿名內部類繼承型別抽象