日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java的接口怎么理解_如何理解Java 中的接口

發布時間:2025/3/19 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的接口怎么理解_如何理解Java 中的接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、接口(Interface)

在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實現的方法。

1、接口的聲明

1.1?接口的聲明語法格式如下:[可見度] interface 接口名稱 [extends 其他的接口名] {

// 聲明變量

// 抽象方法

}

1.2 Interface關鍵字用來聲明一個接口。下面是接口聲明的一個簡單例子。/* 文件名 : DemoInterface.java */

import java.lang.*; //引入包

public interface DemoInterface {

//任何類型 final, static 字段

//抽象方法}

1.3 接口有以下特性:

a、接口是隱式抽象的,當聲明一個接口的時候,不必使用abstract關鍵字。

b、接口中每一個方法也是隱式抽象的,聲明時同樣不需要abstract關鍵字。

c、接口中的方法都是公有的。

2、接口的實現

當類實現接口的時候,類要實現接口中所有的方法。否則,類必須聲明為抽象的類。類使用implements關鍵字實現接口。在類聲明中,Implements關鍵字放在class聲明后面。

2.1?接口的實現語法格式如下:...implements 接口名稱[, 其他接口名稱, 其他接口名稱..., ...] ...

實例如下:Animal.java 文件代碼:/* 文件名 : Dog.java */

public class Dog implements Animal{

public void eat(){

System.out.println("Dog eats");}

public static void main(String args[]){

Dog d = new Dog ();

d.eat();}}

2.2 重寫接口中聲明的方法時,需要注意以下規則:

類在實現接口的方法時,不能拋出強制性異常,只能在接口中,或者繼承接口的抽象類中拋出該強制性異常。

類在重寫方法時要保持一致的方法名,并且應該保持相同或者相兼容的返回值類型。

如果實現接口的類是抽象類,那么就沒必要實現該接口的方法。

2.3 在實現接口的時候,也要注意一些規則:

一個類可以同時實現多個接口。

一個類只能繼承一個類,但是能實現多個接口。

一個接口能繼承另一個接口,這和類之間的繼承比較相似。

3、接口的繼承

一個接口能繼承另一個接口,和類之間的繼承方式比較相似。接口的繼承使用extends關鍵字,子接口繼承父接口的方法。// 文件名: Grandfather.java

public interface Grandfather

{public void setSaveMoney(double money);}

// 文件名: Father.java

public interface Father extends Grandfather

{public void setSaveHouse (int num);}

// 文件名: Son.java

public interface Son extends Father

{public void setSaveCulture ();}

Son接口自己聲明了一個方法,從Father接口繼承了兩個方法,這樣,實現Son接口的類需要實現三個方法。

4、接口的多繼承

在Java中,類的多繼承是不合法,但接口允許多繼承。public interface Son extends Father,Grandfather

5、接口特點

1.接口可以多繼承

2.接口的方法聲明必須是 public abstract 即便不寫默認也是

3.接口里面不能包含方法具體實現,只聲明

4.類繼承接口必須實現接口里申明的全部方法,除非該類是抽象類

5.類里面可以聲明 public static final 修飾的變量

6.接口不能被實例化,但是可以被實現類創建

6、什么時候使用抽象類和接口

1、 如果你擁有一些方法并且想讓它們中的一些有默認實現,那么使用抽象類吧。

2、 如果你想實現多重繼承,那么你必須使用接口。由于Java不支持多繼承,子類不能夠繼承多個類,但可以實現多個接口。因此你就可以使用接口來解決它。

3、如果基本功能在不斷改變,那么就需要使用抽象類。如果不斷改變基本功能并且使用接口,那么就需要改變所有實現了該接口的類。

4、在 JDK1.8,允許我們給接口添加兩種非抽象的方法實現:

1)、默認方法,添加 default 修飾即可;

2)、靜態方法,使用 static 修飾;示例如下:interface Test{

//這個是默認方法

default String get(String aa){

System.out.println("我是jdk1.8默認實現方法...");

return "";}

//這個是靜態方法

static void staticmethod(){

System.out.println("我是靜態方法");}}

調用得話,靜態方法只能通過接口名調用,不可以通過實現類的類名或者實現類的對象調用,default 方法只能通過接口實現類的對象來調用。

7、接口的含義理解

接口可以理解成統一的協議, 而接口中的屬性也屬于協議中的內容。但是接口的屬性都是公共的,靜態的,最終的。

接口的成員特點:

1、成員變量只能是常量,默認修飾符 public static final

2、成員方法只能是抽象方法。默認修飾符 public abstract所以,Java 接口中,使用變量的時候,變量必須被賦值。//所以接口定義屬性

public interface People {

int age=10;

String name="輸出名字"; // 接口里面定義的成員變量都是 public static final 修飾

public void eat();  }

所有的變量必須給出初始值,且絕對不會被修改,因為隱藏的修飾符為 public static final。

8、Java 抽象類和接口總結

1、abstract class 在 Java 語言中表示的是一種繼承關系,一個類只能使用一次繼承關系。但是,一個類卻可以實現多個 interface。

2、在 abstract class 中可以有自己的數據成員,也可以有非 abstarct 的成員方法,而在 interface 中,只能夠有靜態的不能被修改的數據成員(也就是必須是 static final 的,不過在 interface 中一般不定義數據成員),所有的成員方法都是 abstract 的。

3、abstract class 和 interface 所反映出的設計理念不同。其實 abstract class 表示的是 "is-a" 關系,interface 表示的是 "has-a" 關系。

4、實現抽象類和接口的類必須實現其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現方法。

5、接口中定義的變量默認是 public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。

6、抽象類中的變量默認是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

7、接口中的方法默認都是 public,abstract 類型的。

總結

以上是生活随笔為你收集整理的java的接口怎么理解_如何理解Java 中的接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。