Java 抽象類和抽象方法

抽象方法

被abstract修飾的實(shí)例方法

  • 只有方法申明,沒有方法實(shí)現(xiàn)(參數(shù)列表后面沒有大括號(hào)涡上,而是分號(hào))
  • 不是用private修飾權(quán)限(因?yàn)槎x抽象方法的目的是讓子類去實(shí)現(xiàn))
  • 只能定義在抽象類趣苏、接口中

抽象類

被abstract修飾類

  • 可以定義抽象方法
  • 不能實(shí)例化,但可以自定義構(gòu)造方法
  • 子類必須實(shí)現(xiàn)抽象類中的所有抽象方法(除非子類也是一個(gè)抽象方法)
  • 可以像非抽象類一樣定義成員變量、常量匾旭、嵌套類、初始化塊圃郊、非抽象方法等

抽象類使用場(chǎng)景

如果A類和B類中都有公共的部分价涝,可以把這部分抽取為一個(gè)抽象類,然后A類和B類繼承這個(gè)抽象類持舆。

示例:假設(shè)需要求圓形和長(zhǎng)方形的面積和周長(zhǎng)色瘩。

  1. 創(chuàng)建一個(gè)圖形(Shape)抽象類伪窖,包含面積,周長(zhǎng)成員變量和計(jì)算的抽象方法
public abstract class Shape {
    
    //名字
    private String name;
    //面積
    protected double area;
    //周長(zhǎng)
    protected double girth;
    
    public Shape(String name) {
        this.name = name;
    }
    
    public double getArea() {return area;}
    
    public double getGirth() {return girth;}
    
    public void show() {
        calculate();
        System.out.println(name + "的面積是:" + area);
        System.out.println(name + "的周長(zhǎng)是:" + girth);
    }
    
    /*
     * 抽象方法居兆,計(jì)算
     */
    public abstract void calculate();
}
  1. 創(chuàng)建一個(gè)長(zhǎng)方形覆山,并繼承Shape
public class Rectangle extends Shape {

    private double width;
    private double height;
    
    public Rectangle(String name, double width, double height) {
        super(name);
        // TODO Auto-generated constructor stub
        this.width = width;
        this.height = height;
    }

    @Override
    public void calculate() {
        // TODO Auto-generated method stub
        this.area = this.width * this.height;
        this.girth = 2 * (this.width + this.height);
    }
}
  1. 創(chuàng)建一個(gè)圓形,并繼承Shape
public class Round extends Shape {

    //圓的半徑
    private double radius;
    
    public Round(String name, double radius) {
        super(name);
        // TODO Auto-generated constructor stub
        this.radius = radius;
    }

    @Override
    public void calculate() {
        // TODO Auto-generated method stub
        this.area = Math.sqrt(this.radius) * Math.PI;
        this.girth = 2 * Math.PI * this.radius;
    }
}
  1. 在main方法中初始化圓形和長(zhǎng)方形
Shape round = new Round("圓形", 100);
round.show();
Shape rectangle = new Rectangle("長(zhǎng)方形", 100, 200);
rectangle.show();
  1. 打印結(jié)果為
圓形的面積是:31.41592653589793
圓形的周長(zhǎng)是:628.3185307179587
長(zhǎng)方形的面積是:20000.0
長(zhǎng)方形的周長(zhǎng)是:600.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載泥栖,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者簇宽。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市吧享,隨后出現(xiàn)的幾起案子魏割,更是在濱河造成了極大的恐慌,老刑警劉巖耙蔑,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件见妒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡甸陌,警方通過查閱死者的電腦和手機(jī)须揣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钱豁,“玉大人耻卡,你說我怎么就攤上這事∩撸” “怎么了卵酪?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谤碳。 經(jīng)常有香客問我溃卡,道長(zhǎng),這世上最難降的妖魔是什么蜒简? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任瘸羡,我火速辦了婚禮,結(jié)果婚禮上搓茬,老公的妹妹穿的比我還像新娘犹赖。我一直安慰自己,他們只是感情好卷仑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布峻村。 她就那樣靜靜地躺著,像睡著了一般锡凝。 火紅的嫁衣襯著肌膚如雪粘昨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音雾棺,去河邊找鬼膊夹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛捌浩,可吹牛的內(nèi)容都是我干的放刨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尸饺,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼进统!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起浪听,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤螟碎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后迹栓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掉分,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年克伊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酥郭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愿吹,死狀恐怖不从,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情犁跪,我是刑警寧澤椿息,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站坷衍,受9級(jí)特大地震影響寝优,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枫耳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一倡勇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘉涌,春花似錦、人聲如沸夸浅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帆喇。三九已至警医,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背预皇。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國打工侈玄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吟温。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓序仙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親鲁豪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潘悼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354