java中的接口中的方法


題目如下:(多選題)請選擇以下接口定義正確的方法()

A:public static void main (String[] args);

B:private void test();

C:public void test2();

D:static void test3(){};

正確答案為:C D。

原因為:

A 沒有提供默認實現;

B 選擇使用了private來修飾(在接口中是不允許使用private修飾符來修飾方法的)。

在做這個題的時候,自己基本是處於懵逼狀態,因為關於接口自己只知道:接口中的定義的方法一定是抽象的方法,不允許有默認實現。

 

今天寫了一個Demo實驗了下,發現關於接口中定義方法的規則有如下幾點:

1)接口中是可以定義靜態方法的,靜態方法必須要有實現。且這個靜態方法只能用public修飾或不寫。

例如:public static void test(){} 或 static void test(){}.//public省略不寫默認也是用public來修飾。

靜態方法的方法名是可以任意的,即可以定義main方法,例如:public static void main (String[] args){}。

2)對於普通方法,修飾符為: public, abstract, default以及組合 public abstract

 

最后對接口中的屬性進行一點說明

首先你要弄清接口的含義.接口就是提供一種統一的’協議’,而接口中的屬性也屬於’協議’中的成員.它們是公共的,靜態的,最終的常量.相當於全局常量。

在interface里面的變量都是public static final 的。所以你可以這樣寫:

  public static final int i=10;

  或則

  int i=10;(可以省略掉一部分)

  注意在聲明的時候要給變量賦予初值,不能是默認初值。

通過對比可以看到,在接口中是常量,在類中只有用了 final關鍵字才成為常量

基於接口的種種特性,因此,你認為是要變化的東西,就放在你自己的實現中,不能放在接口中去,接口只是對一類事物的屬性和行為更高層次的抽象。對修改關閉,對擴展(不同的實現implements)開放,接口是對開閉原則的一種體現。

https://blog.csdn.net/u010412719/article/details/52536233


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM