c#和Java中的接口


使用場景:

在c#和Java中:

1.接口可以實現“多繼承”(多實現),一個類只能繼承自一個父類,但是可以實現多個接口。

2.接口解決了不同類型之間的多態問題,比如魚與船不是同一類型,但是都能在水里“游泳”,只是方式不一樣,要對“游泳”實現多態,就只能考慮接口。

c#中接口的使用語法:

 

public interface IFlyable
{
        //接口里面能包含什么成員,接口里面只能包含【方法】
        //方法、屬性、索引器、事件  →  “方法”

        //接口中的所有成員,都不能顯示的寫任何訪問修飾符
        //默認是public的訪問修飾符
        void SayHi();
        void M1(string msg);

        //在接口中這樣寫表示是一個未實現的屬性。
        string Name
        {
            get;
            set;
        }

        //索引器
        string this[int index]
        {
            get;
            set;
        }

        //事件
       event Action MyEvent;
}

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Java中接口的使用語法:

Java中接口要注意的事項 :
   1. 接口是一個特殊的類。
   2. 接口的成員變量默認的修飾符為: public static final 。那么也就是說接口中的成員變量都是常量。
   3. 接口中的方法都是抽象的方法,默認的修飾符為: public abstract。
   4. 接口不能創建對象。
   5. 接口是沒有構造方法。
   6. 接口是給類去實現使用的,非抽象類實現一個接口的時候,必須要把接口中所有方法全部實現。

接口的定義格式:


  interface 接口名{

  }

實現接口的格式:

  class 類名 implements 接口名{

  }

 1 //普通的鉛筆類
 2 class Pencil{
 3     
 4     String name;
 5 
 6     public Pencil(String name){
 7         this.name = name;
 8     }
 9 
10     public void write(){
11         System.out.println(name+"沙沙的寫...");
12     }
13 }
14 
15 
16 //橡皮接口
17 interface Eraser{
18     public void remove();
19 }
20 
21 
22 //帶橡皮的鉛筆
23 class PencilWithEraser extends Pencil implements Eraser {
24 
25     public PencilWithEraser(String name){
26         super(name);
27     }
28 
29 
30     public void remove(){
31         System.out.println("塗改,塗改....");
32     }
33 }
34 
35 
36 class Demo
37 {
38     public static void main(String[] args) 
39     {
40         PencilWithEraser p = new PencilWithEraser("2B鉛筆");
41         p.write();
42         p.remove();
43     }
44 }

 


免責聲明!

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



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