java 面向对象编程--第十章 接口
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 面向对象编程--第十章 接口的更多相关文章
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- java 面向对象编程。。。。
经过一周的学习(java),总结了许多,对java的理解,java的类型,运用,安装,基础语法,变量,常量,表达式,语句 java从C语言中继承了大量语言特性.java面向对象编程的基本特征,包括继承 ...
- JAVA面向对象编程课程设计——web版斗地主
一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...
- java面向对象编程知识点总结
一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...
- Java面向对象编程(一)
由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymo ...
- JAVA学习(五):Java面向对象编程基础
Java面向对象编程基础 面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它採用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目 ...
- [.net 面向对象编程基础] (16) 接口
[.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...
- 《Java面向对象编程》
<Java面向对象编程> 第11章 对象的生命周期 11.1 创建对象的方式 用new语句创建对象 运用反射手段,调用java.lang.Class 或者 java.lang.Const ...
- JAVA面向对象编程课程设计——网络版单机斗地主
一.团队介绍 成员姓名 任务分配 成员课程设计博客链接 兰泽祥(组长) 数据库,斗地主规则的实现,人机自动出牌的算法,实体类的设计 JAVA面向对象编程课程设计--web版斗地主 吴修恩 JSP界面的 ...
随机推荐
- zoj2589Circles(平面图的欧拉定理)
链接 连通图中: 设一个平面图形的顶点数为n,划分区域数为r,一笔画笔数为也就是边数m,则有: n+r-m=2 那么不算外面的那个大区域的话 就可以写为 n+r-m = 1 那么这个题就可以依次求出每 ...
- poj1474Video Surveillance(半平面交)
链接 半平面交的模板题,判断有没有核.: 注意一下最后的核可能为一条线,面积也是为0的,但却是有的. #include<iostream> #include <stdio.h> ...
- (五)stm32工程代码HardFault异常查错调试方法
一.导致异常的原因很多,例如:直接使用未分配空间的指针.栈溢出等一场非法操作便会使程序进入HardFault异常状态.下面介绍怎么找出程序中的异常. 接下来在keil_MDK工程中,编译代码,并deb ...
- epoll中et+多线程模式中很重要的EPOLL_ONESHOT实验
因为et模式需要循环读取,但是在读取过程中,如果有新的事件到达,很可能触发了其他线程来处理这个socket,那就乱了. EPOLL_ONESHOT就是用来避免这种情况.注意在一个线程处理完一个sock ...
- C 语言预处理
在嵌入式系统编程中,不管是内核的驱动程序还是应用程序的编写,都涉及到大量的预处理与条件编译,这样做的好处主要体现在代码的移植性强以及代码的修改方便等特性,因此引入了预处理与条件编译的概念.在C语言的程 ...
- Nginx安装(zhuan)
http://www.nginx.cn/install ************************ nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. ...
- linux下动态链接库.so文件 静态链接库.a文件创建及使用
转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲: ...
- phalcon: 上下文转义
phalcon: 上下文转义 Phalcon\Escaper 转义特殊的字符 一:字符转义 $maliciousTitle = '</title><script>alert(1 ...
- ios CoreBluetooth 警告 is being dealloc'ed while pending connection
ios CoreBluetooth 警告 is being dealloc'ed while pending connection CoreBluetooth[WARNING] <CBPerip ...
- Django开发博客- 部署
安装Git Git是一个被大量程序员使用的”版本控制系统”.此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本. windows系统下面可以下载git-scm安装.除了第5步”Adj ...