《Java编程思想》笔记 第八章 多态

1.向上转型

  • 把子类引用当作父类引用。(子类对象赋值给父类引用)

2.绑定

  • 确定方法属于哪个类。

3.前期绑定

  • 程序执行前绑定。

4.后期绑定也叫动态绑定

  • 程序运行时绑定。

5.构造器和多态

5.1 域 与静态方法(包括构造器)不具有多态性。

5.2 构造器内可以多态,调用子类中被覆写的方法,但不安全。

5.3 构造器内可以安全调用的方法只有基类的final方法。

知识点

  • 私有方法被覆盖后和基类无关了,属于子类的新方法,只是和基类私有方法同名而已。
  • 清理顺序和初始化顺序相反。
  • this 代表此对象的引用。
  • 除了 final static private 方法,其他方法都是动态绑定。
  • 编译 将java文件 编译为class文件,每一个类都是一个class文件,包括内部类。 第一次使用代码,class文件加载,class文件只加载一次。

原文地址:https://www.cnblogs.com/mibloom/p/9040378.html

时间: 2024-10-08 12:13:28

《Java编程思想》笔记 第八章 多态的相关文章

java编程思想笔记(第一章)

Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5.某一特定类型的所有对象都可以接收同样的消息. Booch提出一种更简洁的描述: 对象拥有状态(state) 行为(behavior) 和标识(identity) 每个对象都有一个接口 每个对象都属于定义了特性和行为的某个类(特性可以理解为属性的状态,行为可以理解为method) 在面向对象的程序设

Java编程思想笔记(第二章)

第二章  一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(reference)操作对象 类似遥控器(引用)来操作电视(对象) 在Java中你可以创建一个引用,但是没有与任何对象关联,比如: String s; 这个时候如果用则会报错.安全的做法是: 创建一个引用的同时并进行初始化 String s="1111"; 必须由你创建所有对象 New关键字的意思是给我一

java 编程思想笔记(四)——多态

1.什么是多态? 多态是一种java机制,术语叫动态绑定,或者后期绑定以及运行时绑定.多态机制依赖java继承,继承允许将对象视为它自己本身的类型或者其基类型来处理.多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它们是从同一基类导出来的.这种区别是根据方法行为的不同而表现出来的. 2.多态的作用 多态的作用是消除类型之间的耦合关系. 3.什么是绑定? 将一个方法调用同一个方法主体关联起来被称作绑定. 若程序执行前绑定叫做前期绑定:若在运行时根据对象的类型来绑定叫做后期绑定. 4.j

Java编程思想笔记(多态)

      1.再论向上转型:       1(1).忘记对象类型       2.转机:       2(1).方法调用绑定       2(2).产生正确的行为       2(3).可扩展性:多态是一项让程序员“将改变的事物与未变的事物分离开来”的重要技术.   2(4).缺陷:“覆盖”私有方法:只有非private方法才可以被覆盖:但是还需要密切注意覆盖private方法的现象,这时虽然编译器不会报错,但是也不会按照我们所期望的来执行.确切地说,在导出类中,对于基类中的private方法

7.JAVA编程思想笔记隐藏实施过程

欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040237 "进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开." Java 推出了"访问指示符"的概念,允许库创建者声明哪些东西是客户程序员可以使用的,哪些是不可使用的.这种访问控制的级别在"最大访问"和"最小访问"的范围之间,分别包括:public,"友好的

java 编程思想笔记(二)——初始化

一.问题 随着计算机革命的发展,"不安全"的编程方式已逐渐成为编程代价高昂的主因之一. 初始化和清理正是涉及安全的两个问题. 二.java 解决方案 构造器:一种特殊的方法.java 中"初始化"和"创建"捆绑在一起,两者不能分离. 垃圾回收器:释放无用的对象. 三.方法重载 为什么要在这里讲方法重载?我觉得首先:构造器是一种特殊的方法,再一个,构造器除了默认构造器还有有参构造器.为了让方法名称相同而形式参数不同的构造器同时存在,就必须用到方法重

Java编程思想笔记02:组合与继承、final、策略设计模式与适配器模式、内部类、序列化控制(注意事项)

1.组合和继承之间的选择 组合和继承都允许在新的类中放置子对象,组合是显式的这样做,而继承则是隐式的做. 组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形.即在新类中嵌入某个对象,让其实现所需要的功能,但新类的用户看到的只是为新类所定义的接口,而非所嵌入对象的接口.为取得此效果,需要在新类中嵌入一个现有类的private对象.但有时,允许类的用户直接访问新类中的组合成分是极具意义的,即将成员对象声明为public.如果成员对象自身都隐藏了具体实现,那么这种做法是安全的.当用户能够了

Java编程思想:第8章 多态

OOP语言中,多态是封装.继承之后的第三种基本特征. 封装:通过合并特征和行为来创建新的数据类型,“实现隐藏”通过细节“私有化”把接口和实现分离. 继承:以复用接口方式从已有类型用extends关键字创建新类型,并允许向上转型. 多态:消除类型之间的耦合关系(分离做什么和怎么做),基于继承的向上转型功能,允许同一种类型同一行为有不同的表现. 8.1再论向上转型 8.1.1忘记对象类型 不管导出类的存在,编写的代码(方法)只是针对基类类型.不需要为每个导出类型都写各自的代码,这正是多态所允许的.

java编程思想笔记--第一个java程序

// Property.java import java.util.*; public class Property { public static void main(String[] args) { System.out.println(new Date()); Properties p = System.getProperties(); p.list(System.out); System.out.println("--- Memory Usage:"); Runtime rt

java 编程思想笔记(三)——类的复用

一:复用功能介绍 复用代码,除了对代码复制并加以改变是不够的,除此之外,还能够使用类而不破坏现有程序代码. java 中代码复用可以分为以下三类:组合,继承,代理. 二:组合 新的类中使用现有类的对象,新的类由现有类的对象组成. 三:继承 通过extends 语法来实现声明. 四:代理 java 对代理没有提供直接支持,但通过组合和继承完成了间接实现,代理是组合和继承的中庸之道.代理=继承+组合 具体理解可以参考相关代码! 五:基类方法被子类重载 子类重载父类的方法,不会屏蔽其在基类中的任何版本