A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zzkang0206 高级黑马   /  2014-2-13 09:35  /  1113 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口的概念:初期理解,可以认为是一个特殊的抽象类
                      当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
                      class用于定义类
                      interface用于定义接口。
接口的格式:
   interface {}
接口中的成员修饰符是固定的。
成员常量:publicstatic final
成员函数:publicabstract
发现接口中的成员都是public的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”

接口注意事项:
接口:是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。
否则子类是一个抽象类。
接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。

怎样实现多继承?
java只有在接口和接口之间才能实现多继承
类与类之间只能实现单继承,而接口让类与类多实现
接口的特点
1.接口是对外暴露的规则。
2.接口是程序的功能扩展。
3.接口的出现降低耦合性。
4.接口可以用来多实现。
5.类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
6.接口与接口之间可以有继承关系。
单继承过后的类,接口的多实现


1.    interface Inter  
2.    {  
3.             public static final int NUM = 3;  
4.             public abstract void show();  
5.    }  
6.      
7.    interface InterA  
8.    {  
9.             public abstract void show();  
10.  }  
11.     
12.  class Demo  
13.  {  
14.           public void function(){}  
15.  }  
16.     
17.  //一个类继承一个类,还能多实现  
18.  class Test extends Demo implementsInter,InterA  
19.  {  
20.           public void show(){}  
21.  }  
22.     
23.  //接口A  
24.  interface A  
25.  {  
26.           void methodA();//由接口自动填写 public static这两个关键字  
27.  }  
28.     
29.  //接口B  
30.  interface B //extends A  
31.  {  
32.           void methodB();  
33.  }  
34.     
35.  //java只有在接口和接口之间才能实现多继承  
36.  //接口C  
37.  interface C extends B,A  
38.  {  
39.           voidmethodC();  
40.  }  
41.     
42.  //一般类D实现接口C  
43.  class D implements C  
44.  {  
45.           public void methodA(){}  
46.           public void methodC(){}  
47.           public void methodB(){}  
48.  }  
49.     
50.  class InterfaceDemo  
51.  {  
52.           public static void main(String[] args)  
53.           {  
54.                     Testt = new Test();  
55.                     System.out.println(t.NUM);  
56.                     System.out.println(Test.NUM);  
57.                     System.out.println(Inter.NUM);  
58.                     //t.NUM,Test.NUM, Inter.NUM指向的都是一个常量,输出结果是 3  
59.           }  
60.  }  


点评

楼主的描述的很精确也很便于理解,谢谢楼主分享,楼主辛苦了!  发表于 2014-3-22 21:04

评分

参与人数 1技术分 +2 收起 理由
何伟超 + 2

查看全部评分

2 个回复

倒序浏览
学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马