JAVA OO重点内容之 多态 接口

JAVA OO中 继承 封装 多态 抽象被命为面向对象编程的四大基础特征

封装隐藏了类的内部实现机制 从而可以在不影响使用者的前提条件下 改变类的内部结构 ,同时保护了数据

继承是为了重用父类代码

多态是指一个对象有多种形式的能力 一个类的子类可以定义他们唯一的行为 ,同时共享父类的某些相同特征。

具体来说多态可以理解为:

1.第一种是对象的不同方法可以用相同的方法名,也就是重载的概念 。(重载是指:在一个类里面 方法名相同 参数列表不同)

2.同一对象根据不同的消息执行相应的行为 ,也可以认为发送消息给某一个对象 ,让对象自己选择相应的行为

所以多态可以分为静态多态和动态多态

通俗来说:静态多态就是说 在系统调用方法时就能决定调用哪个方法  而动态方法则需要在用户进行实例化时来实现判断

下面来说多态的实现方式:

在JAVA中 使用动态绑定和重写机制来实现多态

JAVA中默认动态绑定 所谓动态绑定 就是说 对于父类中定义的方法 ,如果子类中重写了该方法,那么父类类型的引用将会调用到子类的方法 这就是动态绑定

一般来说  子类中实现和定义的方法 在父类中无法调用 只能在父类中已经定义而且实现的方法 在子类中才会被调用

对于多态的总结:

1.使用父类类型的引用指向子类的对象

2.该引用只能调用父类中定义的方法 ,不能调用子类中独有的方法

3.如果子类中重写了父类中的一个方法 那么在调用这个方法的时候,将会调用子类中的这个方法

4.在多态中,子类可以调用父类中的所有方法

时间: 2024-10-08 10:27:53

JAVA OO重点内容之 多态 接口的相关文章

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向子类对象的相关概念,对继承还没有完全明白的同学可进传送门:Java面向对象编程三大特征 - 继承. 一.抽象类 在继承中,我们已经了解了子父类的关系以及如何对子父类进行设计,如果已经存在多个实体类,再去定义父类其实是不断的抽取公共重合部分的过程,如果有需要将会产生多重继承关系.在抽取整理的过程中,除了

Java基础重点指南

Java基础重点指南 每个人都有自己的学习方法,下面是我学完Java后总结的一些要点: 一:(了解)Java诞生于1995年,由Sun公司开发.它把源代码编译成“中间码”,然后通过“Java虚拟机”把中间码“翻译”成机器码,再在本机上运行.Java有3个版本(Java SE,Java EE,Java ME),SE用于桌面程序开发,也是Java基础,EE用于企业式开发(如网站等),ME用于嵌入式开发(如掌上电脑,移动通讯开发等).通过 Java 可以做很多,但前提是要深入学习. 二:Java 编译

java面向对象编程(八)--抽象类、接口

1.抽象类 1.1抽象类概念 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. //抽象类的必要性[Demo124.java] public class Demo124 { public static void main(String[] args) { //Animal an=new Animal();抽象类不允许实例化 Animal an=new Cat(); an.cry(); an=new Dog(); an.cr

Java编程思想之8多态

这一章看下来,感觉比较混乱.乱感觉主要乱在8.4  8.5. 开始读的时候,感觉8.1 8.2 8.3都挺乱的.读了两遍后发现前三节还是比较有条理的. 8.1主要讲了什么是多态,多态的好处. 8.2主要讲了什么情况会发生多态?? 8.3主要讲了构造器内部里面的方法调用会发生多态. 8.4就一页,而且感觉一般用不到.用到了再看也行. 8.5也很简单,相当于一个总结,一个补充(向下转型) 我主要根据书上的内容,总结两个内容: 1.什么是多态,多态的好处: 2.什么情况下会发生多态?为什么这些情况下会

Android培训Android课堂重点内容汇总

Android培训Android课堂重点内容汇总 一.Android Introduction Android 是一个允许你在java环境下为手机设备开发应用和游戏的提供丰富应用框架. 二.四大组件 1.Activity (1)定义:提供给用户一个与app进行交互的UI界面的组件 (2)创建 //步骤 (1 继承Activity或者其子类 (2 必须实现OnCreate() (3 OnCreate()实现SetContentView(),为这个Activity提供的窗口,添加layout(布局)

java提高篇(四)_理解java的三大特性之多态 转自 http://cmsblogs.com

多态就是指程序中定义 的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该 引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定.因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让 引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个 运行状态,这就是多态性 一. 向上转型

[转]理解java的三大特性之多态

java提高篇(四)-----理解java的三大特性之多态 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承是为了重用父类代码.两个类若存在IS-A的关系就可以使用继承.,同时继承也为实现多态做了铺垫.那么什么是多态呢?多态的实现机制又是什么?请看我一一为你揭开: 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在

【Java】无须额外的包,把Java中的内容输出到Excel中,无乱码,绝对兼容Excel2003与2007

Java输出一段文本到txt中大家基本都会了,这已经是学习Java的必修课了,不会也没有问题,具体可以看<[Java]输入与输出与JDK1.5之后的新型字符串StringBuilder>(点击打开链接).网上对于Java内容转化成Excel的内容大多数都是需要什么poi包,jsl包,一堆奇奇怪怪的jar插件.其实仅仅利用java.io.*;这个基本包就能够把Java中的内容输出到Excel表中,当然,如果你是要处理Mysql数据库不要这样做了,直接一条Mysql的查询命令就能把Mysql的查询

JAVA OO入门知识

说到JAVA 语言  就要从JAVA 的起源开始 1.起始于GREEN项目 2.集C,C++,LISP,于一体 Java OO被称为面向对象语言  意思是以对象作为基本程序结构单位的程序设计语言.用于描述以对象为核心的程序结构.其次,面向对象是基于类. 面向对象的三项基本特征包括 1.封装 意思是将各个独立的功能设计成独立的可重复使用的方法单元.方便对于程序的修改,减少代码的冗余. 2.继承 发生在两个对象之间,继承对象可以使用被继承对象的一些属性 3.多态 不同的场合做出不同的响应 有着不同的