本文目錄一覽:
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-hant/n/137391.html