黑马程序员技术交流社区

标题: JAVA中接口和类的问题? [打印本页]

作者: 一梦明年    时间: 2015-12-11 20:59
标题: JAVA中接口和类的问题?
本帖最后由 一梦明年 于 2015-12-11 21:00 编辑

接口是类吗?
接口继承Object类吗?
我想:接口中没有构造函数,那么就没有super();既然没有super(),那么就不继承Object。因为Object类是所有类的父类,所以接口不是类。
大家怎么看?

作者: 一梦明年    时间: 2015-12-11 21:04
我还觉得:接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引的组合而已,并且也只能包含这四种成员;类除了这四种成员之外还可以有别的成员(如字段)。
2、不能实例化一个接口,接口只包括成员的签名;而类可以实例化(abstract类除外)。
3、接口没有构造函数,类有构造函数。
4、接口不能进行运算符的重载,类可以进行运算符重载。
5、接口的成员没有任何修饰符,其成员总是公共的,而类的成员则可以有修饰符(如:虚拟或者静态)。
6、派生于接口的类必须实现接口中所有成员的执行方式,而从类派生则不然。
作者: songjianzaina    时间: 2015-12-11 21:26
一梦明年 发表于 2015-12-11 21:04
我还觉得:接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引的组合而已,并且也只 ...

接口中的成员是有修饰符的,修饰符默认隐藏。接口中成员变量必须有固定的修饰符修饰,即public static final 所以接口中的变量也称为常量。成员方法也有固定的修饰符,即public abstract。
               

作者: songjianzaina    时间: 2015-12-11 21:31
类是类 接口是接口。类与接口之间只有实现关系,没有继承关系。Object是所有类的超类(也就是父类),接口不是类,所以不可能继承Object 。在格式上类与接口很相似,但事实上它们俩没啥关系。
作者: 牧羊人    时间: 2015-12-11 23:35
接口不是类,接口可以继承接口,不能继承类,接口与类之间只有实现关系。
作者: 王帅---    时间: 2015-12-12 10:08
有默认的构造方法,
作者: 王帅---    时间: 2015-12-12 10:12
  1. //接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
  2. //
  3. //格式:
  4. //
  5. //interface{ }
  6. //
  7. //接口中的成员修饰符是固定的。
  8. //
  9. //成员常量:public   static  final
  10. //
  11. //成员函数:public   abstract
  12. //
  13. //特点:
  14. //
  15. //接口是对外暴露的规则。
  16. //
  17. //接口是程序的功能扩展。
  18. //
  19. //接口可以用来多实现,多继承。
  20. //
  21. //类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
  22. //
  23. //接口与接口之间可以有继承关系。

  24. public class Try {
  25. public static void main(String[] args) {
  26.   E e=new E();
  27. }
  28. }
  29. interface A{
  30. void methodA();
  31. }
  32. interface B {
  33. void methodB();
  34. }
  35. //接口的多继承
  36. interface C extends B,A
  37. {
  38. void methodC();
  39. }
  40. interface D{
  41. void methodD();
  42. }
  43. //类的多实现
  44. class E implements C,D
  45. {  
  46. public void methodA(){}
  47. public void methodB(){}
  48. public void methodC(){}
  49. public void methodD(){}
  50. }
复制代码

作者: duluhuang    时间: 2015-12-12 11:28
接口是接口,类是类 不要混淆。
作者: hxh362805079    时间: 2015-12-12 21:41
不是很清楚 ,概念有点模糊,学习学习
作者: LSD-ZWH    时间: 2015-12-12 22:28
这个今天看到一道题,也问到了,有点整不明白
作者: eddy1820    时间: 2015-12-12 23:44
上課說所有的類都直接或間接繼承Object,所以我想接口不是類....
作者: 一梦明年    时间: 2015-12-14 20:01
噢,谢谢大家,我明白了!
作者: 段江波    时间: 2015-12-14 20:45
这 不一样的哈
作者: Jerson_ZF    时间: 2015-12-14 21:01
为什么能够通过对象调用方法返回一个接口对象?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2