java中接口,java中接口的作用

本文目錄一覽:

java中接口的定義是什麼?

Java接口是Java語言中存在的結構,有特定的語法和結構;

Java中的接口是一系列方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。

接口實現和類繼承的規則不同,因為Java接口不涉及表象,因此Java接口本身沒有任何實現。

java的常用接口有哪些?

常用接口種類,具體如下。

1.java.lang.String 

String類無可爭議的獲得冠軍,應該沒有人會否認這一點,這是一個最終類,用於創建/操作不可變的字符串文字。

2.java.lang.System 

System類的使用取決於你工作的項目類型,你可能沒有在項目中使用過它,但它仍然是受歡迎的Java類之一,這是一個不能被實例化的工具類。

這個類的主要用途是訪問標準輸入、輸出、環境變量等等。

3.java.lang.Exception 

Throwable是所有錯誤和異常的超類,所有異常情況的處理都屬於Exception類。

NullPointerException在所有的異常中是最受歡迎的,而Exception異常是在所有異常層次結構的頂部。

4.java.util.ArrayList 

一個實現數組的數據結構的類。這個類實現了List接口,是最受歡迎的Java集合類的成員,Arr ayList和Vector之間的差異是初學者常見的問題之一,它也經常在java面試中被問到。

5.ava.util.HashMap 

一個實現鍵值對數據結構的類,這個類實現了Map接口,類似比較ArrayList與Vector,Hash Map與Hashtable也是經常拿來比較的。

它也是一個受歡迎的集合類,作為一個屬性-值的容器,經常用在應用程序多個層之間的數據傳遞。

6.java.lang.Object 

所有Java類的根類,每一個Java類都是Object類的一個子類,經常使用在平台/框架上。

它包含了一些重要方法,比如:equals, hashcode, clone, toString等等。它自從Java誕生的第一天開始可用。

7.java.lang.Thread 

線程是一個單一執行的序列,多個線程可以共同存在,共享資源,我們可以擴展Thread類,並創建自己的線程。

當然,使用Runnable也是另一種選擇,是否使用這個類取決於你的應用程序的需要,一個普通的應用程序是完全沒有必要使用線程的。

8.java.lang.Class 

Class類是一個直接繼承Object類的子類,這個類沒有構造函數,它們的對象是被Java虛擬機通過類加載器加載的。

我們大多數人可能沒有直接使用過它,但我認為它是一個重要的做反射的類。

9.java.util.Date 

這是用來處理日期的類,有時候,我們覺得這個類應該加入更多的實用方法,就像每個企業級應用程序都會創建一個日期的實用工具單元。

它自JDK 1.0開始引入,後來在JDK1.1中發生巨大變化,棄用了一大堆的方法。

10.java.util.Iterator 

這是一個接口,它很受歡迎,用來替換枚舉,這是一個簡單易用的單元,它用Iterable同步工作。

java怎麼定義一個接口?

java中接口的定義和接口的實現

1.接口的定義

使用interface來定義一個接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:

[修飾符] interface 接口名 [extends 父接口名列表]{

[public] [static] [final] 常量;

[public] [abstract] 方法;

}

修飾符:可選,用於指定接口的訪問權限,可選值為public。如果省略則使用默認的訪問權限。

接口名:必選參數,用於指定接口的名稱,接口名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends 父接口名列表:可選參數,用於指定要定義的接口繼承於哪個父接口。當使用extends關鍵字時,父接口名為必選參數。

方法:接口中的方法只有定義而沒有被實現。

例如,定義一個用於計算的接口,在該接口中定義了一個常量PI和兩個方法,具體代碼如下:

1 public interface CalInterface

2 {

3     final float PI=3.14159f;//定義用於表示圓周率的常量PI

4     float getArea(float r);//定義一個用於計算面積的方法getArea()

5     float getCircumference(float r);//定義一個用於計算周長的方法getCircumference()

6 }

注意:

與Java的類文件一樣,接口文件的文件名必須與接口名相同。

2.接口的實現

接口在定義後,就可以在類中實現該接口。在類中實現接口可以使用關鍵字implements,其基本格式如下:

[修飾符] class 類名 [extends 父類名] [implements 接口列表]{

}

修飾符:可選參數,用於指定類的訪問權限,可選值為public、abstract和final。

類名:必選參數,用於指定類的名稱,類名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends 父類名:可選參數,用於指定要定義的類繼承於哪個父類。當使用extends關鍵字時,父類名為必選參數。

implements 接口列表:可選參數,用於指定該類實現的是哪些接口。當使用implements關鍵字時,接口列表為必選參數。當接口列表中存在多個接口名時,各個接口名之間使用逗號分隔。

在類中實現接口時,方法的名字、返回值類型、參數的個數及類型必須與接口中的完全一致,並且必須實現接口中的所有方法。例如,編寫一個名稱為Cire的類,該類實現5.7.1節中定義的接口Calculate,具體代碼如下:

1 public class Cire implements CalInterface

2 {

3     public float getArea(float r)

4     {

5         float area=PI*r*r;//計算圓面積並賦值給變量area

6         return area;//返回計算後的圓面積

7     }

8     public float getCircumference(float r)

9     {

10         float circumference=2*PI*r;      //計算圓周長並賦值給變量circumference

11         return circumference;           //返回計算後的圓周長

12     }

13     public static void main(String[] args)

14     {

15         Cire c = new Cire();

16         float f = c.getArea(2.0f);

17         System.out.println(Float.toString(f));

18     }

19 }

在類的繼承中,只能做單重繼承,而實現接口時,一次則可以實現多個接口,每個接口間使用逗號「,」分隔。這時就可能出現常量或方法名衝突的情況,解決該問題時,如果常量衝突,則需要明確指定常量的接口,這可以通過「接口名.常量」實現。如果出現方法衝突時,則只要實現一個方法就可以了。下面通過一個具體的實例詳細介紹以上問題的解決方法。

原創文章,作者:DFMV,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/137391.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
DFMV的頭像DFMV
上一篇 2024-10-04 00:17
下一篇 2024-10-04 00:17

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論