国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JavaSE復習日記:抽象類

2019-11-14 15:39:06
字體:
來源:轉載
供稿:網友
/* *                              抽象類 *      抽象: *          面向對象的三大核心思想; *              封裝: 封裝,ppp是封裝的一部分 *              繼承; *              多態: 父類的引用指向子類的對象 *                  引用: 是指一個引用型變量 *              有哪些變量? *                  成員變量; *                  構造方法的局部變量; *                  普通方法的局部變量; *                  立馬聲明立馬使用的變量; *                  靜態變量; *      什么是抽象類? *          就是用abstract關鍵字修飾的類就叫抽象類; *      什么是抽象方法? *          沒有方法體的方法叫抽象方法,連{}都沒有;抽象方法必須在修飾符列表中加上abstract這個關鍵字修飾; *      繼承于抽象類的類: *          必須全部實現抽象類中的方法(就是加上方法體大括號),如果沒有全部實現,就必須加上abstract修飾,即他也是個抽象類; *      抽象類和抽象方法的關系: *          含有抽象方法的類一定是抽象類; *          抽象類卻不一定有抽象方法; *      抽象類沒有抽象方法的目的: *          為了讓這個抽象類不能被實例化; *      抽象方法的性質: *          1 抽象方法不能被實例化(還有一種方法也不能讓類實例化,那就是構造方法私有化,PRivate) *          2 雖然抽象方法不能被實例化,但是仍然有構造方法,這個是讓子類創建對象用的(構造方法不能被繼承,用super()) *          3 抽象類中不一定有抽象方法,但是抽象方法必須寫在抽象類中 *          4 抽象類的繼承類,必須把所有的抽象方法實現(全部需要加上方法體),否則子類還是個抽象類,需要用abstract修飾,也就是子類也不能直接被實例化 * *          注意:抽象類是不能使用final修飾的,因為抽象類的目的就是為了繼承,而final修飾的類不能被繼承 *      抽象方法可以用final修飾嗎? *          abstract和final不能同時出現,抽象方法不能用final修飾,因為抽象方法的目的是被覆寫,而final修飾的方法不能被覆寫; * *          還有就是,子類必須實現抽象類的所有的"抽象"方法才行,而不是用abstract修飾的方法呢? *              關于這個,代碼中可以看出來; * */public class javaSE{    public static void main(String[] args){        A a = new C();//這里是多態,用于父類引用指向子類對象        a.move();        a.eat();        //再寫一個        //A o = new A();//這里是會報錯的,我上面寫過,抽象類是無法被實例化的,A是抽象類吧,當然不能被實例化;    }}abstract class A{//抽象類吧    public void eat(){//這個不是抽象方法吧,需要一定被覆寫(實現)嗎?        System.out.println( "這是一個抽象類" );    }    public abstract void move();//注意:抽象方法是沒有方法體的;            A(){        System.out.println( "A的構造方法" );    }}abstract class B extends A{//B沒有覆蓋(或者說實現)A里面的move()方法,所以他依舊是一個抽象類,需要加上abstract;    B(){        System.out.println( "B的構造方法" );    }}class C extends B{//C實現了A里面的所有方法吧,所以不用abstract修飾;    C(){        super();    }    public void move(){//A中的move()方法被覆寫了        System.out.println( "C不是抽象類" );    }}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五河县| 凯里市| 黎平县| 宁陵县| 晋州市| 延川县| 达州市| 新河县| 和林格尔县| 临泉县| 大悟县| 道孚县| 仪陇县| 资源县| 兴宁市| 浦江县| 五峰| 新安县| 县级市| 成武县| 涪陵区| 巧家县| 交口县| 湖南省| 东辽县| 焦作市| 宁阳县| 开江县| 中超| 开平市| 正阳县| 莱芜市| 吉木萨尔县| 霍邱县| 沙湾县| 苏州市| 宣城市| 慈利县| 个旧市| 天门市| 个旧市|