黑马程序员--Java笔记06--多态
来源:互联网 发布:水冶豫广网络缴费 编辑:程序博客网 时间:2024/06/07 05:21
多态
定义:某一类事物的多种存在形态,就是一个对象对应着不同的类型
体现:父类或者接口的引用指向或接受了自己的子类对象
作用:提高程序扩展性和后期的可维护性
前提:需要存在继承或实现关系、需要有覆盖操作
好处:提高代码的扩展性,前期定义的代码可以使用后期的内容
弊端:前期定义的内容不能使用后期子类的特有内容
P.S.:instanceof判断对象类型,只能用于引用数据类型判断
对象1 instanceof 类2 判断对象1是否是类2
多态下成员的特点:
成员变量:
编译时:参考引用型变量所属的类中是否有调用的成员变量,有,编译通过,没有,编译失败;
运行时:参考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量;
即编译和运行都参考等号左边
成员函数(非静态):
编译时:参考引用型变量所属的类中是否有调用的函数,有,编译通过,没有,编译失败;
运行时:参考的是对象所属的类中是否有调用的函数;
即编译时看左边,运行时看右边
静态函数:
编译时:参考的是对象所属的类中是否有调用的函数;
运行时:参考的是对象所属的类中是否有调用的函数;
即编译和运行都看左边
内部类:(内置类、嵌套类)
特点:内部类可以直接访问外部类中的成员,包括私有成员,外部类要访问内部类的成员则必须要建立内部类对象
位置:
内部类定义在成员位置上,可以被private、static修饰,被static修饰的内部类只能访问外部类中的静态成员
如果内部类及其成员都是静态的可以不用创建内部类对象,直接调用;
如果内部类中定义了静态成员,那么该内部类也必须是静态的;
内部类能直接访问外部类中的成员,是因为内部类持有外部类的引用,
外部类名.this;
内部类定义在局部位置上,也可以直接访问外部类中的成员,同时可以访问所在局部中的局部变量,但必须是被final修饰的
匿名内部类:就是建立一个带内容的外部类或者接口的子类匿名对象
格式:new 外部类名或接口(){覆盖类或接口中的代码(也可自定义)}
- 黑马程序员--Java笔记06--多态
- 黑马程序员-----java笔记
- 黑马程序员----java基础笔记
- “黑马程序员”-java集合笔记
- 黑马程序员 java String 笔记
- 《黑马程序员》java笔记->HTML
- 《黑马程序员》java笔记->JavaScript
- 黑马程序员 Java基础笔记
- 黑马程序员--JAVA学习笔记
- 黑马程序员--Java高新技术笔记
- 黑马程序员-java反射笔记
- 黑马程序员-java代理笔记
- 黑马程序员-java笔记入门
- "黑马程序员"java增强笔记
- 黑马程序员-------java入门笔记
- 黑马程序员---Java 学习笔记
- 【黑马程序员】Java笔记--多线程
- 【黑马程序员】Java笔记--反射
- apache反向代理tomcat时x-forwarded-for为null的问题
- reflect 库使用小结
- SQLServer错误目录(持续更新中···)
- 用adb将手机/data/data/com.android.providers.contacts/databases下的contacts2.db拷贝到电脑上
- STL中sort()的相关运用
- 黑马程序员--Java笔记06--多态
- linux搭建git服务器
- [leetcode] 162 Find Peak Element(二分)
- 黑马程序员--Java笔记07--异常
- Android NDK 环境搭建 之 起始篇NDK HelloWorld
- Composite(组合)设计模式
- 黑马程序员--Java笔记08--多线程 创建、安全问题、线程间通信
- 多线程中栈空间的分配 http://biancheng.dnbcw.info/linux/303270.html
- PhoneGap插件调用Java流程源码分析(三)