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

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

接口、類與抽象類

2019-11-08 18:26:01
字體:
來源:轉載
供稿:網友

一、抽象類使用場景

如果你想設計這樣一個類,該類包含一個特別的成員方法,該方法的具體實現由它的子類確定,那么你可以在父類中聲明該方法為抽象方法。

Abstract關鍵字同樣可以用來聲明抽象方法,抽象方法只包含一個方法名,而沒有方法體。

抽象方法沒有定義,方法名后面直接跟一個分號,而不是花括號。

二、抽象類總結規定

1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創建對象。

2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。

3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。

4. 構造方法,類方法(用static修飾的方法)不能聲明為抽象方法。

5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。

代碼:package test.abstracttest;public abstract class AbstractTest {PRivate String name;private String address;private int number;// public abstract AbstractTest(){// // }   public abstract double computePay();public int age(){return number;};}class test1{//abstract void test(); 報錯 Make type 'Test' abstract}=====================================package test.abstracttest;public class AbstractTestChildren extends AbstractTest {@Overridepublic double computePay() {// TODO Auto-generated method stubreturn 0;}}================================package test;import test.abstracttest.AbstractTest;public class Main {public static void main(String[] args) {//AbstractTest a = new AbstractTest();報錯,不能實例化}}三、接口

接口與類相似點:

一個接口可以有多個方法。接口文件保存在 .java 結尾的文件中,文件名使用接口名。接口的字節碼文件保存在 .class 結尾的文件中。接口相應的字節碼文件必須在與包名稱相匹配的目錄結構中。

接口與類的區別:

接口不能用于實例化對象。接口沒有構造方法。接口中所有的方法必須是抽象方法。接口不能包含成員變量,除了 static 和 final 變量。接口不是被類繼承了,而是要被類實現。接口支持多重繼承。

接口特性

接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定為 public abstract(只能是 public abstract,其他修飾符都會報錯)。接口中可以含有變量,但是接口中的變量會被隱式的指定為 public static final 變量(并且只能是 public,用 private 修飾會報編譯錯誤。接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。

抽象類和接口的區別

1. 抽象類中的非abstract定義的方法可以有方法體,就是能實現方法的具體功能,但是接口中的方法不行。2. 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是 public static final 類型的。3. 接口中不能還有靜態代碼塊以及靜態方法(用 static 修飾的方法),而抽象類是可以有靜態代碼塊和靜態方法。4. 一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。參考:http://www.runoob.com/java/java-interfaces.htmlhttp://dev.yesky.com/436/7581936.shtml
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南江县| 张家港市| 合肥市| 海丰县| 左云县| 吉林省| 卓尼县| 鄄城县| 花莲县| 四子王旗| 株洲县| 姜堰市| 兰州市| 镇雄县| 察雅县| 陇川县| 泾川县| 永福县| 黄梅县| 思茅市| 泰顺县| 贵阳市| 惠来县| 洛川县| 昆明市| 常宁市| 淳安县| 东兴市| 阿瓦提县| 南平市| 杭州市| 建湖县| 宁城县| 德庆县| 红原县| 南安市| 白水县| 榆林市| 崇仁县| 石棉县| 甘泉县|