JAVA 之 多态 抽象 接口
一:多态
1:多态 一个对象有多种形式的能力
2:步骤
1编写父类派生子类
2子类重写父类方法
3用父类的数据类型引用子类对象
3:静态多态的实现方式就是方法重载
4:动态多态的实现方式就是重写父类中同名成员方法
5:使用instanceof关键字判断对象的真正类型
语句形式 引用instanceof 类名
eg;Empe=new Hourly();
if(einstanceofHourly){
Hourlyx=(Hourly) e;// 强制转换一个Hourly类型
}
6:多态的应用
1多态参数
2异构集合 不是同一类型,但是有共同父类的数据集合
二:抽象
1:抽象类 是不能实例化的类,需要被继承,由子类来实现。
2:抽象方法 只有方法签名 没有方法主体
出现在抽象类中
在子类中必须被重写 除非子类是抽象类
三 接口
1 :接口 所有的方法都是抽象的,所有的方法都不提供具体的实现
2:接口与类之间的几个不同之处
1 接口不能被实例化
2 接口不包含任何构造器
3 接口中所有的方法都是抽象的
4接口中不能包含实例成员变量 (要同时声明为static final)
5 接口不能被一个类继承,只能被一个类实现
6 一个接口能够继承多个接口
3:接口中抽象方法声明三种
1 public abstract void paint();
2 public void paint();
3 void paint ();
4:继承多个接口 用逗号隔开
接口中只能包含抽象方法 抽象类中可以含有普通方法
接口中不能定义静态方法 抽象类可以定义静态方法
接口中只能定义静态常量属性 抽象类静态 普通的都可以
接口中不含初始化块 抽象类可以含有
JAVA 之 多态 抽象 接口的更多相关文章
- java中静态,抽象,接口,继承总结
(一).静态: 1.静态方法里只能访问静态变量,静态变量是类所特有的,所有类实例都作用同一个变量 静态随着类的加载而加载 (二). 抽象:抽象相当于接口,没有方法体,只定义方法,让子类实现,抽象类中可 ...
- 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”
Muscleape个人总结:(这里的抽象接口是指:使用一个抽象类实现一个接口,是两部分结构) 使用一个抽象类直接实现接口,将接口中的方法区分为实现类必须要实现的和选择性实现的,其他需要实现接口的类型通 ...
- Java基础学习笔记八 Java基础语法之接口和多态
接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...
- java四大特性理解(封装继承多态抽象)
封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...
- 【Java基础】【09面向对象_多态&抽象类&接口】
09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案 ...
- Java开发知识之Java的继承多态跟接口*
Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...
- 学习博客之Java继承多态接口
这一篇博客主要是对软工前一阶段学习的总结,主要是对Java的学习总结,包括三部分:Java的继承.多态和接口 Java的继承 继承是面向对象的三大特性之一,能够实现软件的复用. Java子类继承父类的 ...
- java基础三 [深入多态,接口和多态](阅读Head First Java记录)
抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{ public void roam ...
- java抽象类、多态、接口
抽象类 抽象类的产生 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但 ...
随机推荐
- JavaScript從剪切板中獲取圖片並在光標處插入
edit_content_text.addEventListener('paste', function (ev) { var clipboardData, items, item; co ...
- oracle只导出触发器
只要触发器,其他都不要 方法1:plsql develop调用exp:tools->export object—>trigger 方法2:select dbms_metadata.get_ ...
- Git小技巧:VIM中如何填写注释信息
使用Git命令行工具的时候,经常一不小心就进入VIM界面,例如git commit没有填写任何描述信息.对于习惯了Windows可视化操作界面的用户,可能一下子会觉得无所适从,只能在键盘上一顿短按.下 ...
- C#多线程编程系列(三)- 线程同步
目录 1.1 简介 1.2 执行基本原子操作 1.3 使用Mutex类 1.4 使用SemaphoreSlim类 1.5 使用AutoResetEvent类 1.6 使用ManualResetEven ...
- 知物由学 | AI时代,那些黑客正在如何打磨他们的“利器”?(一)
本文由 网易云发布. “知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道.“知物由学” ...
- css3效果隔两秒旋转然后停两秒再继续旋转,无限循环
1.旋转效果 <style type="text/css"> /*底部天象APP红包下载*/ .public_footer_app,.animation{ positi ...
- docker和定时任务
查看linux信息 cat /etc/issue 以id运行容器docker start 1c3339d7f9a8通过id结束容器 docker kill 1c3339d7f9a8 Ubuntu 安装 ...
- 基于jeesite+android开发 电子商务系统免费教程
下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...
- Alamofire源码导读二:发起请求及内部加锁的逻辑
以创建一个 DataRequest 为例子  发起请求 创建 SessionManager 顺带也创建了一个 SessionDelegate 持有一个urlSession,持有一个串行的 Dispa ...
- day 70 crm(7):stark组件调用,以及权限分配
前情提要: 复习: 1: orm !!!!! 2: session 3: django 4: 前端在复习 5: 复习中间件 学习的stark 的组件调用,以及权限的应用 一:权限的概念, 1: ...