zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    CentOS7安装(三)- 配置阿里云yum源
    OSQA的配置
    MySQL学习 (三) Limit-Distinct-Union
    MySQL学习(二)-字段类型及约束
    MySQL学习(一)-基本知识
    Python闭包
    软件测试面试常考点
    人生感悟
    常用的Linux命令
    细说php一些常见的知识点
  • 原文地址:https://www.cnblogs.com/qicao/p/8934026.html
Copyright © 2011-2022 走看看