java笔记-多态
来源:互联网 发布:ai矢量图软件免费下载 编辑:程序博客网 时间:2024/04/29 01:26
一、多态的概述
多态:对象在不同时刻表现出来的不同状态
多态是针对引用类型:编译期间的状态和运行期间的状态。
前提条件:
A、要有继承关系
B、要有方法重写
C、要有父类引用指向子类对象
class Fu{
public void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
public void show(){
System.out.println("zi show");
}
}
class DuoTai{
public static void mian(String[] args){
Fu f=new Zi();//f表示父类引用,new Zi()是创建一个子类对象。
}
}
这就是多态编译期间父类型,运行期间是子类型。二、多态的成员特点
成员变量是父亲的,成员方法是儿子的。方法有重写,而变量没有
A:成员变量(编译看左边,运行看左边)
B:成员方法(编译看左边,运行看右边)
三、多态的弊端和解决方案
多态的弊端:
父类引用不能使用子类特有功能
解决方法:
基本类型转换:隐式转换(从小到大),显示转换(从大到小)
引用类型转换:向上转型(从小到大),向下转型(从大到小)
class Fu{
public void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
public void show(){
System.out.println("zi show");
}
public void method(){System.out.println("zi method");
}
}
class DuoTai{
public static void mian(String[] args){
Fu f=new Zi();//向上转型,不能调用子类中的method方法
Zi z=(Zi) f;//向下转型,可以通过z调用子类中的method方法,不创建新的子类对象
}
}
只有在运行是才回去new对象,开辟空间。运行是不创建对象。四、多态的好处
为了提高代码的扩展性和可维护性。工具类中的方法用父亲接收,增加子类不需要修改工具类。
继承的弊端是强耦合:父类有的,子类也会有
线程的相关阅读资料:设计模式(面向对象阎闳)、数据结构+算法(java版)、线程的并发编程
- Java笔记6:多态
- java学习笔记-多态
- Java学习笔记-多态
- java笔记-多态
- Java笔记整理:多态
- Java笔记 - 多态
- JAVA笔记之 多态
- Java学习笔记----多态
- java笔记 多态
- java学习笔记<四>多态
- java笔记-面向对象-多态
- 【Thinking In Java笔记】多态
- java笔记-多态(Polymorphism)
- Java学习笔记(多态)
- 【java学习笔记s】多态
- 个人Java笔记 多态1
- Java SE学习笔记-多态
- Java基础学习笔记--多态
- 深入FFM原理与实践
- Date与Calendar、部分类型的转换
- hive复合数据类型之map
- android - 奔溃日志收集,UncaughtExceptionHandler实现
- 用js动态生成css代码
- java笔记-多态
- oclint规则 Convention(公约)
- 2016.08.19上午【初中部 NOIP普及组 】模拟赛题解
- USACO 2010 Open Silver 3.Time Travel 链表?
- hjr学习-分类算法:朴素贝叶斯算法
- 【华为OJ】查找整数二进制中1的个数
- 工厂区分短见
- POJ 2342 Anniversary party 洛谷 P1352 没有上司的舞会
- 毕业生自传(浴血奋战)