最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java abstract class interface之間的區(qū)別介紹

 更新時間:2012年11月28日 14:39:31   作者:  
含有abstract修飾符的class即為抽象類,abstract 類不能創(chuàng)建的實例對象,abstract class類中定義抽象方法必須在具體(Concrete)子類中實現(xiàn),所以,不能有抽象構造方法或抽象靜態(tài)方法
含有abstract修飾符的class即為抽象類,abstract 類不能創(chuàng)建的實例對象。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義抽象方法必須在具體(Concrete)子類中實現(xiàn),所以,不能有抽象構造方法或抽象靜態(tài)方法。如果的子類沒有實現(xiàn)抽象父類中的所有抽象方法,那么子類也必須定義為abstract類型。
接口(interface)可以說成是抽象類的一種特例,接口中的所有方法都必須是抽象的。接口中的方法定義默認為public abstract類型,接口中的成員變量類型默認為public static final。
下面比較一下兩者的語法區(qū)別
1.抽象類可以有構造方法,接口中不能有構造方法。
2.抽象類中可以有普通成員變量,接口中沒有普通成員變量
3.抽象類中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。
4. 抽象類中的抽象方法的訪問類型可以是public,protected和(默認類型,雖然
eclipse下不報錯,但應該也不行),但接口中的抽象方法只能是public類型的,并且默認即為public abstract類型。
5. 抽象類中可以包含靜態(tài)方法,接口中不能包含靜態(tài)方法
6. 抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問類型可以任意,但接口中定義的變量只能是public static final類型,并且默認即為public static final類型。
7. 一個類可以實現(xiàn)多個接口,但只能繼承一個抽象類。
下面接著再說說兩者在應用上的區(qū)別
接口更多的是在系統(tǒng)架構設計方法發(fā)揮作用,主要用于定義模塊之間的通信契約。而抽象類在代碼實現(xiàn)方面發(fā)揮作用,可以實現(xiàn)代碼的重用,例如,模板方法設計模式是抽象類的一個典型應用,假設某個項目的所有Servlet類都要用相同的方式進行權限判斷、記錄訪問日志和處理異常,那么就可以定義一個抽象的基類,讓所有的Servlet都繼承這個抽象基類,在抽象基類的service方法中完成權限判斷、記錄訪問日志和處理異常的代碼,在各個子類中只是完成各自的業(yè)務邏輯代碼,偽代碼如下:
復制代碼 代碼如下:

public abstract class BaseServlet extends HttpServlet
{
public final void service(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException
{
//記錄訪問日志
//進行權限判斷
//if(具有權限)
{
try
{
doService(request,response);
}
catch(Excetpion e)
{
記錄異常信息
}
}
}
protected abstract void doService(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException;
//注意訪問權限定義成protected,顯得既專業(yè),又嚴謹,因為它是專門給子類用的
}
public class MyServlet1 extends BaseServlet
{
protected void doService(HttpServletRequest request, HttpServletResponse response) throws IOExcetion,ServletException
{
//本Servlet只處理的具體業(yè)務邏輯代碼
}
}

父類方法中間的某段代碼不確定,留給子類干,就用模板方法設計模式。
備注:這道題的思路是先從總體解釋抽象類和接口的基本概念,然后再比較兩者的語法細節(jié),最后再說兩者的應用區(qū)別。比較兩者語法細節(jié)區(qū)別的條理是:先從一個類中的構造方法、普通成員變量和方法(包括抽象方法),靜態(tài)變量和方法,繼承性等6個方面逐一去比較回答,接著從第三者繼承的角度的回答,特別是最后用了一個典型的例子來展現(xiàn)自己深厚的技術功底。

相關文章

  • Java讀取Oracle大字段數(shù)據(jù)(CLOB)的2種方法

    Java讀取Oracle大字段數(shù)據(jù)(CLOB)的2種方法

    這篇文章主要介紹了Java讀取Oracle大字段數(shù)據(jù)(CLOB)的2種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • java實現(xiàn)在線預覽--poi實現(xiàn)word、excel、ppt轉(zhuǎn)html的方法

    java實現(xiàn)在線預覽--poi實現(xiàn)word、excel、ppt轉(zhuǎn)html的方法

    這篇文章主要介紹了java實現(xiàn)在線預覽--poi實現(xiàn)word、excel、ppt轉(zhuǎn)html的方法,本文需要引入poi的jar包給大家介紹的非常詳細,需要的朋友可以參考下
    2019-09-09
  • GC算法實現(xiàn)篇之并發(fā)標記清除

    GC算法實現(xiàn)篇之并發(fā)標記清除

    這篇文章主要為大家介紹了GC算法實現(xiàn)篇之并發(fā)-標記-清除,?CMS垃圾收集器在減少停頓時間上做了很多給力的工作,?大量的并發(fā)線程執(zhí)行的工作并不需要暫停應用線程
    2022-01-01
  • Spring實現(xiàn)源碼下載編譯及導入IDEA過程圖解

    Spring實現(xiàn)源碼下載編譯及導入IDEA過程圖解

    這篇文章主要介紹了Spring實現(xiàn)源碼下載編譯及導入IDEA,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • JAVA按字節(jié)讀取文件的簡單實例

    JAVA按字節(jié)讀取文件的簡單實例

    下面小編就為大家?guī)硪黄狫AVA按字節(jié)讀取文件的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • springboot項目如何開啟https服務

    springboot項目如何開啟https服務

    這篇文章主要介紹了springboot項目如何開啟https服務方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • SpringBoot項目引入token設置方式

    SpringBoot項目引入token設置方式

    本文詳細介紹了JWT(JSON Web Token)的基本概念、結(jié)構、應用場景以及工作原理,通過動手實踐,展示了如何在Spring Boot項目中實現(xiàn)JWT的生成、驗證和攔截器配置
    2025-01-01
  • 詳解Java?缺失的特性擴展方法

    詳解Java?缺失的特性擴展方法

    這篇文章主要為大家介紹了Java?缺失的特性擴展方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • springboot中使用redis的方法代碼詳解

    springboot中使用redis的方法代碼詳解

    ​redis 作為一個高性能的內(nèi)存數(shù)據(jù)庫,如果不會用就太落伍了,之前在 node.js 中用過 redis,本篇記錄如何將 redis 集成到 spring boot 中。感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • SpringBoot如何實現(xiàn)定時任務示例詳解

    SpringBoot如何實現(xiàn)定時任務示例詳解

    使用定時任務完成一些業(yè)務邏輯,比如天氣接口的數(shù)據(jù)獲取,定時發(fā)送短信,郵件。以及商城中每天用戶的限額,定時自動收貨等等,這篇文章主要給大家介紹了關于SpringBoot如何實現(xiàn)定時任務的相關資料,需要的朋友可以參考下
    2021-10-10

最新評論

大关县| 五莲县| 新田县| 吐鲁番市| 沭阳县| 荆门市| 绿春县| 濮阳县| 辰溪县| 晋宁县| 湘潭市| 蒲江县| 万源市| 阳西县| 钟祥市| 任丘市| 高雄市| 陆河县| 达拉特旗| 根河市| 冕宁县| 南部县| 株洲市| 唐山市| 扶绥县| 海原县| 阜宁县| 昌平区| 青神县| 扶沟县| 五峰| 五指山市| 盐山县| 吉木乃县| 十堰市| 湛江市| 镇康县| 巨鹿县| 余江县| 甘洛县| 昭觉县|