1. 程式人生 > >JAVA抽象類與介面

JAVA抽象類與介面

Java抽象類

抽象方法:使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。

public abstract void fun();

抽象類
使用abstract關鍵字修飾的類
包含抽象方法的類是抽象類
抽象類可以不包含抽象方法
抽象類只能被繼承,不能自己建立例項
一個類只能繼承一個抽象類

abstract class
Person{ abstract void fun(); abstract void sleep(); }

並且子類繼承抽象類必須實現抽象類的所有抽象方法
抽象類可以有構造器,但是抽象類自己不能構造例項。
抽象類的構造器用於被子類呼叫。與繼承父類先呼叫父類構造器一樣

介面

介面使用interface修飾,接口裡麵包含的方法不能有方法體。
實現介面必須實現接口裡面所有的方法。實現介面用implements關鍵字

interface Person{
    public void fun();
    public void sleep();
}

介面可以被多繼承,即一個類可以繼承多個介面

default修飾的普通方法
在介面中用default定義的方法可以有方法體:

interface Person{
    public void fun();
    public void sleep();
    default void eat() {
                System.out.println("吃東西");
    }
}

static修飾的靜態方法:
可以直接使用介面.方法名呼叫

interface Person{
    public void fun();
    public void sleep();
    default void
eat() { System.out.println("吃東西"); } static void run(){ System.out.println("跑步"); } }

相關推薦

Java抽象介面的區別及default關鍵字學習總結

抽象類 可看做是不可例項化的普通類,可以擁有構造方法,可以有main方法 抽象類中的方法可以是抽象方法(抽象方法必須存在於抽象類中),也可以是普通方法、靜態方法 可以宣告變數 抽象類可以繼承其它類,也可實現介面 抽象類的派生類,必須覆蓋父類中abstract修

Java抽象介面的區別

2014/07/16 | 分類: 基礎技術 | 6 條評論 | 標籤: 抽象類, 介面 分享到: 很多常見的面試題都會出諸如抽象類和介面有什麼區別,什麼情況下會使用抽象類和什麼情況你會使用介面這樣的問題。本文我們將仔細討論這些話題。 在討論它們之間的不同點之前,

再看Java抽象介面

寫了這麼久的介面,也很少用到抽象類。 在一些原始碼中又看到,自己平時基本不會用到抽象類,但是最近學習又不記得到底有什麼區別了,再來先看一下。 首先, java的面向物件的特徵是什麼: 面向物件程式設計有四個特徵:抽象,封裝,繼承,多型。 java墮胎的四種體現形式: 多型

java 抽象介面 note

抽象類(修飾符abstract) 兩種類:具體類和抽象類 抽象方法:設計目的就是讓子類來實現。子類繼承了抽象父類,如果沒有實現抽象父類,那麼子類還是一個抽象子類。否則子類一定要實現抽象父類裡的抽象方法,成為具體類。 如果一個方法被宣告為抽象類,則這個類必須宣告為抽象的。 在抽象類

再探Java抽象介面的設計理念差異

Java抽象類與介面都可以實現功能與實現的分離,都對多型提供了很好的支援,那麼我們什麼時候應該使用抽象類或介面呢?在以前的一篇文章初探Java抽象類與介面中談到了他們語法的區別,在部落格通過模板方法模式深入理解Java抽象類中寫到了該如何正確使用抽象類,那

JAVA抽象介面

Java抽象類 抽象方法:使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。 public abstract void fun(); 抽象

java 抽象介面的區別

抽象類:抽象類是用來捕捉子類的通用性的,不能被例項化,只能做為子類的超類,抽象類是被用來建立繼承層級裡子類的模板的。    首先了解一下抽象方法。抽象方法是一種特殊的方法,只宣告而沒有具體的實現,宣告格式為:abstract void fun (); 抽象方法必須由abs

JAVA抽象介面詳解 例子很好

在Java語言中, abstract class 和interface 是支援抽象類定義的兩種機制。正是由於這兩種機制的存在,才賦予了Java強大的 面向物件能力。abstract class和interface之間在對於抽象類定義的支援方面具有很大的相似性,甚至可以相互替

java基礎學習總結(十五):抽象介面

       抽象類與介面是java語言中對抽象概念進行定義的兩種機制,正是由於他們的存在才賦予java強大的面向物件的能力。他們兩者之間對抽象概念的支援有很大的相似,甚至可以互換,但是也有區別。  一、抽象類    &n

Java學習|抽象介面

對於面向物件程式設計,抽象是其一大特徵之一,在java中可以通過兩種形式來體現OOP的抽象:介面與抽象類 抽象類 抽象類為了繼承而存在,用abstract修飾,抽象類無法被例項化,定義了抽象類就是為了繼承他,並根據子類的實際需求來進行不同的實現,如果繼承一個抽象類,必須要實現父類的抽

Java抽象介面

程式設計中的抽象 表達一種概念而非實體 在一定程度上忽略細節而著眼大局(設計父類) 抽象類 使用關鍵字abstract修飾 抽象類的作用僅僅是表達介面,而不是具體的實現細節 抽象類無法制造出物件,但可以定義變數,存放非抽象子類的物件 抽

Java之路:抽象介面對比

先上圖: 下面詳細說下: 1、相同點 (1)都是抽象型別; (2)都可以有實現方法;抽象類中可以實現普通方法,介面中可以實現預設方法(Java 8)。 (3) 都可以不需要實現類或者繼承者去實現所有方法。(以前不行,現在介面中預設方法不需

java面向物件——抽象介面

1. 抽象類 抽象類就是指具有抽象方法並且使用abstract關鍵字修飾的類。 抽象類不能例項化物件,否則編譯出錯 抽象類中可以有成員變數,成員方法以及構造方法 抽象類中可以有抽象方法也可以沒有,但定義了抽象方法就必須是抽象類 抽象類的作用 抽象類的意義不在於

java學習筆記(七)--(抽象介面下)(介面的定義使用)

介面的定義與使用 介面優先原則:在一個操作即可以使用抽象類又可以使用介面的時候,優先考慮使用介面。 介面的定義(JDK8以前):介面就是抽象方法與全域性常量的集合(純粹版的抽象類),interfance關鍵字定義介面 interface IMessage{

“全棧2019”Java第六十六章:抽象介面詳細對比

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第六十六章:抽象類與介面詳細對比 下一章 “全棧2019”Java第六十七章:內部類、巢狀類

Java學習筆記之抽象介面的應用

1、抽象類的實際應用 — 定義模板 假設有這樣的場景,將人分為工人和學生,兩者都能說話,只是說話的內容不一樣,換句話說,說話這個功能應該是一個具體功能,說話的內容由學生和工人決定,我們可以用抽象類實現這個場景 abstract class Person2{ private S

java抽象介面小結

一、抽象類 抽象類的定義與使用 定義: 抽象類只是在普通類的基礎上擴充了一些抽象方法而已,所謂的抽象方法指的是隻宣告而未實現的方法(即沒有方 法體)。所有抽象方法要求使用abstract關鍵字來定義,並且抽象方法所在的類也一定要使用abstract關鍵字來 定義,表示抽象類。 定義一

Java抽象介面區別

抽象類:抽象類是無法例項化的特殊類。所以問題是為什麼我們需要一個不能被例項化的類,抽象類只能是子類(繼承自)。換句話說,它只允許其他類繼承它,但不能例項化。優點是它為所有子類執行特定的層次結構。簡

Java總結 - 抽象介面

本文是自己對抽象類和介面的理解,如果不對請指正,謝謝 抽象類的簡介 抽象?抽象是什麼意思?之前在我的 封裝繼承多型 一文中提到了一個杯子的概念,簡單概括一下就是嘴說出來的是一個抽象的概念,因為並不知道這個杯子的具體引數,比如顏色之類的特點,所以抽象也就是將一個事物的大體結構提取出來,比如我

Java從小白到大牛》之第13章 抽象介面

《Java從小白到大牛》紙質版已經上架了!!! 設計良好的軟體系統應該具備“可複用性”和“可擴充套件性”,能夠滿足使用者需求的不斷變更。使用抽象類和介面是實現“可複用性”和“可擴充套件性”重要的設計手段。 抽象類 Java語言提供了兩種類:一種是具體類;另一種