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 接口名{

  }

//普通的铅笔类
class Pencil{
    
    String name;

    public Pencil(String name){
        this.name = name;
    }

    public void write(){
        System.out.println(name+"沙沙的写...");
    }
}


//橡皮接口
interface Eraser{
    public void remove();
}


//带橡皮的铅笔
class PencilWithEraser extends Pencil implements Eraser {

    public PencilWithEraser(String name){
        super(name);
    }


    public void remove(){
        System.out.println("涂改,涂改....");
    }
}


class Demo
{
    public static void main(String[] args) 
    {
        PencilWithEraser p = new PencilWithEraser("2B铅笔");
        p.write();
        p.remove();
    }
}

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值