国产探花免费观看_亚洲丰满少妇自慰呻吟_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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资阳市| 卫辉市| 涿州市| 博湖县| 石棉县| 集安市| 丰顺县| SHOW| 阿克苏市| 洱源县| 高青县| 高安市| 大宁县| 镇安县| 安达市| 纳雍县| 许昌县| 灌南县| 泽普县| 洪雅县| 重庆市| 思茅市| 丹寨县| 建始县| 垫江县| 任丘市| 鄂托克旗| 绵阳市| 肇州县| 鸡泽县| 凤阳县| 镇沅| 邹城市| 杭州市| 蒲江县| 三原县| 宁武县| 平定县| 建水县| 大新县| 潞城市|