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 }
原文地址:https://www.cnblogs.com/qicao/p/8934026.html