JAVA 抽象類 和 介面

2021-08-13 09:28:11 字數 2722 閱讀 7172

一、抽象

使用 abstract 修飾

abstract 修飾類 抽象類

abstract 修飾方法 抽象方法

抽象方法,沒有實現的部分

注意:

抽象類中的抽象方法,強制子類去重寫

抽象類不能例項化物件(不能建立物件)

抽象類中:

成員變數,可以有成員變數,也可以有常量。

成員方法,可以有抽象方法,也可以有成員方法

構造方法,有構造方法。

注意:

抽象類中不一定有抽象方法,但是抽象方法一定存在抽象類中。

抽象類的子類,一定要重寫父類的所有抽象方法。

舉例

public

class

demo01

}abstract

class

animal

public

void fun()

public

abstract

void eat();// 定義乙個抽象方法 eat()

}class

catextends

animal

public

void eat()

}// 最後的列印結果

// 我是父類的抽象方法

// 貓吃魚

// 我是成員方法

1.乙個類就算沒有抽象方法,也可以定義成乙個抽象類,作用是禁止建立抽象類的物件出來,只能使用其子類。

2.abstract 和 哪些關鍵字不能共同使用

abstract 和 static

static 修飾方法 用法 用類名區呼叫,abstract 修飾抽象方向,沒有方法的實現,沒有實現部分的方法,只能是方法的生命,無法直接呼叫,所以不能共存。

abstract 和 final

final 修飾方法 不能被重寫。而abstract 修飾方法 就是為了讓子類重寫方法,所以不能共存。

abstract 和 private

private 修飾方法,只能本類訪問,子類無法訪問,沒有辦法重寫。

二、介面

廣義的介面:規則

定義介面的寫法:

inte***ce 介面名{}

介面特點:

介面中,只能宣告抽象方法

介面也不能例項化物件(誰要用介面,就誰要去實現介面中的方法。)可以使用多台的方式建立子類(實現類的物件)

介面注意:

成員變數 :只能有常量, public static final 常量名 = 初值,當你在介面中宣告變數時,系統預設回事public static final 修飾變數。

成員方法:只有抽象方法,沒有成員方法

構造方法:沒有構造方法。

類和類的關係:

類和類 之間 是繼承關係 單繼承和多層繼承

類和介面的關係:

類和介面 是實現的關係,可以單實現,也可以多實現。

介面和介面的關係:

介面和介面的關係,可以多繼承也可以單繼承

舉例

public

static demo02

}// 定義乙個介面 inte***ce

inte***ce

intera

class

person

implements

intera

}inte***ce

interx

inte***ce

intery

}inter face interz extends interx, intery

class

carimplements

interz

public

void fun1()

}//最終的列印結果

// 我是人類的列印

// 我是fun

// 我是fun1

jdk 1.8之後進行了優化。

優化之後可以寫成員方法:靜態的方法, 預設的方法

不能直接呼叫預設方法,因為介面不能建立物件

必須使用該介面的實現類的物件去呼叫

預設方法在實現類中不強制你重寫。

抽象類 和 介面的區別

成員變數

抽象類:可以有成員變數,也可以有常量

介面: 只可以有常量

成員方法

抽象類:可以有成員方法,也可以由抽象方法

介面: 可以有靜態成員方法,可以有預設成員方法,可以有抽象方法

構造方法

抽象類:有構造方法

介面:沒有構造方法

舉例

public

class demo03

}inte***ce intera

public

default

void

defaultsayhi()

}class interaimp implements intera

public

void

defaultsayhi()

}

Java 介面和抽象類

介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...

java抽象類和介面

抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...

Java抽象類和介面

含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete 子類中實現,所以...