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

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

抽象類

2019-11-15 00:40:52
字體:
來源:轉載
供稿:網友
抽象類

1.當用abstract來修飾一個類時,這個類就是抽象類。當abstract來修飾一個方法時,這個方法就是抽象方法。

2.含有抽象方法的類必須被定義為抽象類,抽象類必須被繼承,抽象方法必須被重寫

3.抽象類不能被實例化,只能被子類繼承。

4.抽象方法只需聲明,無需實現,抽象方法沒有方法體

例,在同一個包下定義一個Shape.java文件

public abstract class Shape {        {        System.out.

再定義一個Triangle.java文件

public class Triangle extends Shape{       //定義三邊    private double a;    private double b;    private double c;        public Triangle(double a,double b , double c) {        this.setSides(a,b,c);    }    public void setSides(double a, double b , double c){        if (a >= b+c && b >= a + c && c >= b + a) {            System.out.println("三角形不合法");            return;        }        this.a = a;        this.b = b;        this.c = c;    }        //重寫父類計算周長的抽象方法    @Override    public double calPerimeter() {                return a + b + c;    }    //重寫父類的返回形狀的方法    @Override    public String getTyp() {                return "三角形";    }        public static void main(String[] args)    {        Shape s1 = new Triangle(3,4,5);     //輸出12.0        System.out.println(s1.calPerimeter());            }    

抽象類的作用:

/*自己總結的*/

如果不同的子類需要從父類類中調用相同的方法,比如都需要計算周長,從shape父類中調用calPerimeter()方法,但圓(circle)與三角形(triangle)計算周長的方式并不一樣,如果在shape定義一個帶有方法體的非抽象方法,一定不能滿足同時計算圓與三角形周長的要求。如果定義shape為抽象類,calPerimeter為抽象方法,只需要在子類中重寫calPerieter()方法適合自己就行了。/*書本*/

從語義的角度來看抽象類是從多個具體類中抽象出來的父類,它具有更高層次的抽象。從多個具有相同特征的類中抽象出一個抽象類,以這個抽象類作為其子類的模版,從而避免了子類設計的任意性。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五指山市| 修文县| 平罗县| 启东市| 平果县| 济阳县| 海阳市| 桦南县| 镇沅| 句容市| 丽水市| 渝中区| 德保县| 绥宁县| 黄平县| 信丰县| 辽阳县| 南部县| 江山市| 阿拉善右旗| 雷州市| 永登县| 开原市| 灵石县| 岑巩县| 同德县| 荔浦县| 鄱阳县| 陕西省| 滦南县| 马尔康县| 岢岚县| 同江市| 咸宁市| 盐城市| 防城港市| 博乐市| 梓潼县| 沧源| 日照市| 城市|