一:多态 

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:继承多个接口   用逗号隔开

5:接口与抽象类的区别  

接口中只能包含抽象方法       抽象类中可以含有普通方法

接口中不能定义静态方法       抽象类可以定义静态方法

接口中只能定义静态常量属性  抽象类静态 普通的都可以

接口中不含初始化块                  抽象类可以含有

JAVA 之 多态 抽象 接口的更多相关文章

  1. java中静态,抽象,接口,继承总结

    (一).静态: 1.静态方法里只能访问静态变量,静态变量是类所特有的,所有类实例都作用同一个变量 静态随着类的加载而加载 (二). 抽象:抽象相当于接口,没有方法体,只定义方法,让子类实现,抽象类中可 ...

  2. 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”

    Muscleape个人总结:(这里的抽象接口是指:使用一个抽象类实现一个接口,是两部分结构) 使用一个抽象类直接实现接口,将接口中的方法区分为实现类必须要实现的和选择性实现的,其他需要实现接口的类型通 ...

  3. Java基础学习笔记八 Java基础语法之接口和多态

    接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...

  4. java四大特性理解(封装继承多态抽象)

    封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一 ...

  5. 【Java基础】【09面向对象_多态&抽象类&接口】

    09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案 ...

  6. Java开发知识之Java的继承多态跟接口*

    Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...

  7. 学习博客之Java继承多态接口

    这一篇博客主要是对软工前一阶段学习的总结,主要是对Java的学习总结,包括三部分:Java的继承.多态和接口 Java的继承 继承是面向对象的三大特性之一,能够实现软件的复用. Java子类继承父类的 ...

  8. java基础三 [深入多态,接口和多态](阅读Head First Java记录)

    抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{      public void roam ...

  9. java抽象类、多态、接口

    抽象类 抽象类的产生 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但 ...

随机推荐

  1. JavaScript從剪切板中獲取圖片並在光標處插入

    edit_content_text.addEventListener('paste', function (ev) {    var clipboardData, items, item;    co ...

  2. oracle只导出触发器

    只要触发器,其他都不要 方法1:plsql develop调用exp:tools->export object—>trigger 方法2:select dbms_metadata.get_ ...

  3. Git小技巧:VIM中如何填写注释信息

    使用Git命令行工具的时候,经常一不小心就进入VIM界面,例如git commit没有填写任何描述信息.对于习惯了Windows可视化操作界面的用户,可能一下子会觉得无所适从,只能在键盘上一顿短按.下 ...

  4. C#多线程编程系列(三)- 线程同步

    目录 1.1 简介 1.2 执行基本原子操作 1.3 使用Mutex类 1.4 使用SemaphoreSlim类 1.5 使用AutoResetEvent类 1.6 使用ManualResetEven ...

  5. 知物由学 | AI时代,那些黑客正在如何打磨他们的“利器”?(一)

    本文由  网易云发布. “知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道.“知物由学” ...

  6. css3效果隔两秒旋转然后停两秒再继续旋转,无限循环

    1.旋转效果 <style type="text/css"> /*底部天象APP红包下载*/ .public_footer_app,.animation{ positi ...

  7. docker和定时任务

    查看linux信息 cat /etc/issue 以id运行容器docker start 1c3339d7f9a8通过id结束容器 docker kill 1c3339d7f9a8 Ubuntu 安装 ...

  8. 基于jeesite+android开发 电子商务系统免费教程

    下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...

  9. Alamofire源码导读二:发起请求及内部加锁的逻辑

    以创建一个 DataRequest 为例子  发起请求 创建 SessionManager 顺带也创建了一个 SessionDelegate 持有一个urlSession,持有一个串行的 Dispa ...

  10. day 70 crm(7):stark组件调用,以及权限分配

    前情提要: 复习:  1: orm !!!!! 2: session 3: django 4:  前端在复习 5:  复习中间件 学习的stark 的组件调用,以及权限的应用 一:权限的概念,  1: ...