接口

标签: interfacec++java扩展objectclass
1607人阅读 评论(1) 收藏 举报
分类:
 
      
       C++中有多继承,多继承很好,但是c++多重继承中,派生类继承了所有父类的实现,导致体积膨胀等缺点。C#和java的设计者坚持单继承,所有的类都派生自Object类,他们提供了interface来模仿c++的多继承(java里称为mixing—混合类型), 既利用了多继承的好处,又因为接口不包含任何方法实现和非静态成员变量,因而没有c++多重继承带来的困扰。
       interface只能声明方法,不能实现方法。抽象类则可以实现方法,但是不能用于多继承。一个类可以扩展另一个类,同时又实现其它接口;一个接口也可以扩展自两个不同的接口。下面就是一个示例:
publicclass MyInteger2 extends MyInteger implements Interface1
{
    publicvoid add()
    {
       System.out.println("ok");
    }
}
       java接口可以包含成员变量,但是它们都是隐式的static 和final变量。接口中的方法总是public访问权限,不需要显式的指定。
Java的接口就是为了解决这个问题而实现的,即利用了多继承的好处,又因为没有包含任何实现和非静态成员变量,因而没有c++多重继承带来的困扰。
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5154115次
    • 积分:63892
    • 等级:
    • 排名:第29名
    • 原创:1203篇
    • 转载:22篇
    • 译文:1篇
    • 评论:1140条
    文章分类
    最新评论
    算法专家朋友的博客
    清如许的博客