【正文】
父類聲明是從父類的角度去引用對象,子類聲明是從子類角度引用對象。 ? 如果實現(xiàn)接口的類是 abstract類,則它可以不實現(xiàn)該接口的所有方法。即使沒有修飾符,其效果完全等效,訪問級別要么為 public,要么為 缺省 。 p u b lic d o u b le g et Pe ri mete r () p u b lic d o u b le g et Ar ea ()Triangle p u b lic d o u b le x , y 。Protected double radius 。若沒有抽象方法,類前也可有 abstract修飾。y=1 x Void Printme(){ } int z=+6。 void eat(){} void sleep(){} Person(){} } class Student extends Person{ int score。 x=4 在子類對象中隱藏 此處調用的是父類代碼及對應的父類對象中的屬性成員 。 13 ? 在抽象類中,非抽象方法可以調用抽象方法。pr ot ec t ed d ou bl e m 。 20 ? interface聲明格式 [public] interface 接口名[ extends 父接口名列表] { //靜態(tài)常量 數(shù)據(jù)成員聲明 [public][static][final] 域類型 域名 = 常量值 //抽象方法 聲明 [public][abstract]返回值 方法名 (參數(shù)列表 )[throw 異常列表 ] } 21 ? 定義接口要注意幾點 ? 接口定義用關鍵字 interface,而不是用class, interface前的修飾符要么為 public,要么為 缺省 。 25 接口實現(xiàn)與使用 ? 給接口中的方法定義具體的操作就是接口的實現(xiàn) ? 在類的聲明中用 implements子句來表示一個類實現(xiàn)了某個接口。 不同點 屬性變量 可以有變量 不能有,只能是靜態(tài) 常量。 34 類的其它相關內容 類的初始化 ? 構造方法 ? 聲明時初始化 ? 靜態(tài)塊 ? 實例塊 35 靜態(tài)塊 class A{ static{….}// 靜態(tài)塊 } ? 靜態(tài)塊在類被加載到內存時被執(zhí)行 ? 非靜態(tài)成員變量不能在靜態(tài)塊中使用 ? 靜態(tài)塊主要用來初始化靜態(tài)變量及靜態(tài)方法 36 class Outer{ static int a=10。 { (“實例塊” )。 void f(){…} class Inner{ int d=a。 } } } 46 ? 成員類的成員不能為 static成員,但允許靜態(tài)常量存在 class Outer{ class Inner{ int a。 //不能引用普通方法 } } 50 ? Inner類作為 Outer類的靜態(tài)成員,可以在不創(chuàng)建 Outer類對象的條件下,直接創(chuàng)建 Inner類對象 in=new ()。用一條語句完成匿名類的定義與實例創(chuàng)建。 60 類對象 ? 在 ——Class(注:同關鍵字 class區(qū)別的地方是首字母大寫 ),它也繼承 Object類。 【 例 】 62 小結 本章深入介紹了 Java面向對象的一些概念。 【 例 】 57 ? 匿名內部類的使用原則 ? 匿名內部類不能有構造方法 ? 不能定義任何靜態(tài)成員、方法 ? 不能被 public、 protected、 private、static修飾 ? 只能創(chuàng)建一個實例