第9章 多态和抽象

1.多态:在Java中,子类的对象可以替代父类的对象使用。即使用父类类型的引用指向子类的对象。

2.一个引用类型变量可能指向(引用)多种不同类型的对象。

3.一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法。

4.多态可以分为静态多态和动态多态。

5.静态多态指的是程序在编译时,系统就能决定调用哪个方法,所以也称为编译时多态。静态多态实现的方式就是方法重载。

6.动态多态指在运行中系统才能动态确定方法所指的对象,所以也成为运行时多态,动态多态的实现方式是重写父类中的同名成员方法。动态多态主要通过动态绑定和重写的机制来实现。

7.无继承关系的引用类型间的转换是非法的。

8.父类类型的引用只能调用父类中定义的方法,不能调用子类中独有的方法。

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

10.在多态中,子类可以调用父类中的所有方法,私有方法除外。

时间: 2024-10-08 07:18:28

第9章 多态和抽象的相关文章

java面向对象编程--第九章 多态和抽象

9.1多态 在生物学中,是指一个生物或物种可以有多种不同的形式或阶段: 在OOP中,多态是指一个对象有多种形式的能力. 多态可以说是面向对象编程的精髓所在.java中之所以引入多态的概念,原因之一是它在类的继承问题上和C++不同.单继承保证了继承关系的简单明了,但势必在功能上有很大的限制. 由于子类对象中包含一个完整的父类对象,所以父类变量中定义的方法和属性在子类对象中都能找到,所以允许一个父类变量引用子类对象,但反过来却不行,因为子类的方法和属性可能多于父类. 多态调用时,用父类变量指向子类对

多态与抽象以及接口

继承.封装.多态.抽象是面向对象编程的四大基本特征.封装隐藏了类的内部实现机制,在不影响用户使用的前提下,改变类的内部结构,从而保护了数据.继承则是通过重写父类代码,既可以多态,也可以让代码的复用性大大提高.所谓多态,就是同一种行为,不同的对象不同的体现,java的多态弥补了其自身单一继承的缺陷. 多态又分为,静态多态和动态多态. 静态多态是指程序在编译时就能决定其调用的方法,也称编译时多态,说的更直接静态多态实现方式就是方法的重载. 多态多态是指程序在运行中系统多态确定方法所指的对象,也称为运

java学习笔记(八)多态与抽象

多态和抽象是从继承引出来的两个重要的概念,多态允许对象以多种形式存在,而抽象则允许创建抽象类. 多态是指一个对象有多种形式的能力.一个类的子类可以定义它们唯一的行为,同时共享父类的某些相同特征.动态多态指在运行中系统才能动态确定方法所指的对象. 多态的技术基础: 向上转型技术:一个父类的引用变量可以指向不同的子类对象,或者说一个子对象可以被当做一个父类类型; instanceof关键字:用于判断运行时对象的真正类型; 动态绑定技术:运行时根据父类引用变量所指对象的实际类型执行相应的子类方法,从而

继承、类的高级概念、多态和抽象、接口

private 只能在自己的类中访问得到. public 表 示共有的,在任何类中调到. protected 在所有类中 defult 在自己以及类中调用到. 本类 同一包中不同类 不同包 子类 piviate 是 是 是 是 public 是 是 是 protected 是 是 default 是 extends继承类 super . 类名(): 操类 子类中调用副类方法 public class salary extends Employee{ } 使用“is a ”判断继承是否正确 所有类

JAVA——多态和抽象

多态和抽象从继承引出来的两个重要的概念,多态允许以多种形式存在,而抽象则允许创建抽象类. 在Java中,多态有两种理解方式:第一种是对象的不同的方法可以用相同的一个方法名,也就是重载的概念.另一种是同一对象根据不同的消息执行相应的行为,也可以这样认为发送消息给某一对象,让对象自行选择哪种相应的行为.根据这两种方式,所以多态分为静态多态和动态多态: ■静态多态指的是程序在编译时,系统就能决定调用哪个方法,所以也称为编译时多态.在Java中,静态多态实现的方法就是方法重载,其调用规则是依据对象在定义

【软件构造】第三章第三节 抽象数据型(ADT)

第三章第三节 抽象数据型(ADT) 3-1节研究了"数据类型"及其特性 ; 3-2节研究了方法和操作的"规约"及其特性:在本节中,我们将数据和操作复合起来,构成ADT,学习ADT的核心特征,以及如何设计"好的"ADT. Outline ADT及其四种类型 ADT的基本概念 ADT的四种类型 设计一个好的ADT 表示独立性 ADT的特性 不变量 表示泄露 抽象函数AF 表示不变量RI 以注释的形式撰写AF.RI Notes ## ADT及其四种类型

软件构造 第三章第三节 抽象数据型(ADT)

软件构造 第三章第三节 抽象数据型(ADT) Creators(构造器): 创建某个类型的新对象,?个创建者可能会接受?个对象作为参数,但是这个对象的类型不能是它创建对象对应的类型.可能实现为构造函数或静态函数.(通常称为工厂方法) t* ->  T 例子:Integer.valueOf( ) Producers(生产器): 通过接受同类型的对象创建新的对象. T+ , t* -> T 例子:String.concat( ) Observers(观察器): 获取抽象类型的对象然后返回一个不同类

复习第三章多态

第三章  多态 本章需要掌握的东西 掌握多态的优势和应用场合 答:多态的优势可以减少代码量,更加清晰明了.,应用场合为,一个事物需要做多种事情的时候需要用到多态. 2.掌握父类和子类之间的类型转换 答:父类引用转向子类为向上转型,自动类型转换.子类引用转向父类为向下类型转换,需要强制转换. 3.掌握instanceof运算符的使用 答:这个不是很实用了解一下就OK,我了解的是 这个可以判断类型转换的东西. 4.使用父类作为返回值实现多态 答:如果要返回多个子类的值,可以使用父类作为返回值,父类包

day14 多态与抽象

多态:相同的行为,不同的实现. 多态分为:静态多态和动态多态. 静态多态:在编译期即确定方法的实现和效果.--使用重载实现 动态多态:运行后才能确定方法的实现和执行效果.--使用动态绑定和重写实现 动态绑定技术:引用数据类型转换.instanceof关键字 引用数据类型转换:向上转型:父类的引用指向子类的对象. 向下转型:运行起来后,确实是本类引用指向本类对象或者指向子类对象,才能成功. instanceof关键字:用于判断运行时对象的真正类型,判断对象是否是某个类的实例.返回true/fals