1、  接口可以看做是抽象类的特例。抽象类中可以定义抽象方法,也可以定义具体方法。但接口只能定义抽象方法。所有接口可以看作行为的抽象。定义接口使用关键字interface,实现接口使用关键字implements。

2、  如果一个方法用父类变量作为参数,那么可以传递任何一个子类对象。如果一个方法用接口变量作为参数,那么可以传递任何一个实现类对象。(多态)

3、  接口中只能定义抽象方法,所以接口中的方法无论是否书写abstract,都是抽象方法,都只能有方法的定义。另外,接口中的方法都是public公有方法,如果不写public,默认也是public的公有方法,不能用protected或private去定义接口方法。

4、  一个类可以有多个接口,用“,”隔开但是一个抽象类只能继承一个类。

5、  接口中定义的变量,都是public static final的常量。

6、  接口可以继承接口,而且可以继承多个接口,一个类实现一个接口,不但要实现接口中定义的所有方法,而且其接口的父接口定义的方法同样要实现。

7、  继承和接口:

  • 继承和接口都是抽象的结果;
  • 继承用于在相关类实例中,共享通用代码,重用方法和属性;
  • java接口用于在不同的类实例中当中共享通用行为,重用方法;

8、  接口和抽象类的区别:

  • 抽象类和接口都不能产生对象(实例化);
  • 接口里所有方法都是abstract的,抽象类既有方法的定义也有方法的实现;
  • 接口中定义的变量必须是公有静态常量,而抽象类定义的变量是普通属性;
  • 一个类只能继承于另一个类,但可以实现多个接口;
  • 接口可以多继承接口,但抽象类只能单根继承;

9、  接口的应用:

事件开发步骤:

  • 1、确定事件源;
  • 2、确定监听器(ActionListener  接口);
  • 3、注册,建立事件源和监听器的联系(x.addActionListener(new MyEvent());)

java 面向对象编程--第十章 接口的更多相关文章

  1. Java面向对象编程基础

    一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...

  2. java 面向对象编程。。。。

    经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...

  3. JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...

  4. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  5. Java面向对象编程(一)

    由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...

  6. JAVA学习(五):Java面向对象编程基础

    Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...

  7. [.net 面向对象编程基础] (16) 接口

    [.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...

  8. 《Java面向对象编程》

    <Java面向对象编程> 第11章 对象的生命周期 11.1  创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...

  9. JAVA面向对象编程课程设计——网络版单机斗地主

    一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...

随机推荐

  1. Jquery基本、层次选择器

    基本选择器: $("#none").css("background","#bbffaa"); 改变id为none的所有元素的背景色 $(&q ...

  2. 个人作业Week 2 ----------代码的规范和代码复审

    1.是否需要有代码规范 从个人理解的角度出发,我认为代码规范还可以细分为代码的风格还有代码的结构设计(就好比排版一类的) 以前在上C语言课程的时候就看到过,老师会在打“{”的时候进行一个换行,但是有些 ...

  3. embed object以及video标签的区别以及使用

    embed object以及video标签的区别以及使用?

  4. Poco C++——HTTP的post请求和get请求

    两种请求都需要包含头文件: #include <iostream> #include <string> #include "Poco/Net/HTTPClientSe ...

  5. iOS 的 Safari 文件上传功能详解

    iOS 6 给 Safari 浏览器带来的另外一个功能是文件上传,终于 Safari 终于支持 input 输入框的文件类型了,并且还支持 HTML媒体捕获(HTML Media Capture). ...

  6. hdu5785(极角排序求所有锐角钝角个数)

    做法很显然,求出所有的锐角和钝角就能求出有多少个锐角三角形了. 我用了愚钝的方法,写了两三个小时... 看了下别人简单的代码.学习了下做法. sort(temp+,temp+cnt+);//排序 Fo ...

  7. 一次DB2数据库连接失败(SQLSTATE=08001)的解决方法

    有一次,在使用DbVisualizer工具连接自己linux虚拟机上的DB2数据库时,报如下错误: Product: DbVisualizer Pro 9.1 Build: #2050 (2013/0 ...

  8. IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法

    这个世界变化很快,IE8也快出来了,它将不在支持以前{filter:alpha(opacity=50);}的私有属性,转而支持更规范的私有属性-ms-filter: “progid:DXImageTr ...

  9. c++ 对象内存分配和虚函数

    1. c++类对象(不含虚函数)在内存中的分布 c++类中有四种成员:静态数据.非静态数据.静态函数.非静态函数. 1. 非静态数据成员放在每个对象内部,作为对象专有的数据成员 2. 静态数据成员被抽 ...

  10. JDK环境变量安装正确还报错的情况解决方案

    环境变量 JAVA_HOME , PATH 都已配置完毕,并且 java -version也显示正确如下 E:\apache-tomcat-8.0.30-windows-x64\apache-tomc ...