1.多态: 定义:同一父类的不同子类,在处理同一行为时,有不同的表现。就是 多态。 学习多态的原因? 提高代码的可扩展性和可维护性。 2.实现多态的步骤: A.父子类继承 B.子类重写父类方法: C.调用时,声明父类 new 子类。 3."声明父类 new 子类" 介绍: 1.创建父类引用,指向子类 ...
分类:
其他好文 时间:
2018-07-15 17:35:43
阅读次数:
155
Java 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 Java 子类强转父类 父类引用指向子类对象: java中子类强转父类,实际上依然是子类; 该引用只能调用父类中定义的方法和变量; 如果子类中重写了父类中 ...
分类:
编程语言 时间:
2018-07-14 10:22:00
阅读次数:
184
隐藏指的是子类把父类的属性或者方法隐藏了,即将子类强制转换成父类后,调用的还是父类的属性和方法,而覆盖则指的是父类引用指向了子类对象,调用的时候会调用子类的具体方法。 (1) 变量只能被隐藏(包括静态和非静态),不能被覆盖 (2) 可以用子类的静态变量隐藏父类的静态变量,也可以用子类的非静态变量隐藏 ...
分类:
编程语言 时间:
2018-07-03 11:51:00
阅读次数:
164
1.什么时候需要用到强制类型转换 当把子类变量赋给父类引用变量时,这个父类引用变量只能调用父类拥有的方法, 不能调用子类特有的方法,即使它实际引用的是子类变量。 如果需要让这个父类引用变量调用它子类的方法,就必须把它强制转换成子类类型。 2.引用类型之间要强制转换成功需要有什么条件 把父类实例转换成 ...
分类:
其他好文 时间:
2018-07-01 19:04:00
阅读次数:
150
什么是多态呢? 在Java程序中,允许不同类的对象对同一消息做出不同的响应. 编译时多态:又叫设计时多态,通过方法重载实现 运行时多态(Java中的多态):程序运行时,决定调用哪个方法实现多态的前提条件: 必须满足继承关系; 父类引用指向子类实例对象;向上转型:(隐式转型,自动转型) 父类应用指向子 ...
分类:
编程语言 时间:
2018-06-29 10:57:08
阅读次数:
185
用一句话概括就是:事物在运行过程中存在不同的状态。先以教科书般举例说明,下文再举一个花木兰替父从军的例子帮助大家理解. 多态的存在有三个前提:1.要有继承关系2.子类要重写父类的方法3.父类引用指向子类对,但是其中又有很多细节需要注意。首先我们定义两个类,一个父类Animal,一个子类Cat。父类A ...
分类:
编程语言 时间:
2018-06-23 11:44:36
阅读次数:
203
classDemo3_SuperMan{publicstaticvoidmain(String[]args){Personp=newSuperMan();//父类引用指向子类对象,超人提升为了人//父类引用指向子类对象就是向上转型System.out.println(p.name);p.谈生意();SuperMansm=(SuperMan)p;//向下转型sm.fly();/*基本数据类型自动类型
分类:
其他好文 时间:
2018-06-22 21:02:04
阅读次数:
214
dome1classDemo1_Polymorphic{publicstaticvoidmain(String[]args){Catc=newCat();c.eat();Animala=newCat();//父类引用指向子类对象a.eat();}}/**A:多态(polymorphic)概述*事物存在的多种形态*B:多态前提*a:要有继承关系。*b:要有方法重写。*c:要有父类引用指向子类对象。*
分类:
其他好文 时间:
2018-06-22 20:59:13
阅读次数:
169
在子类继承父类后,子类对象便可以当做父类对象使用了(兼容性)。包括:1、子类对象可以直接赋值给父类对象;2、子类对象可以直接初始化父类对象;3、父类对象可以直接指向子类对象;4、父类引用可以直接引用子类对象。下来我们来说下当使用父类指针(引用)指向子类对象时,子类对象便退化为父类对象,只能访问父类中定义的成员,可以直接访问被子类覆盖的同名成员。
分类:
其他好文 时间:
2018-05-28 17:25:17
阅读次数:
120
1:向上转型 向上转型,就是java多态中的父类引用指向子类对象。但要注意的是 父类引用不可以访问子类新增加的成员(熟悉和方法) 代码举例: 以上 main()方法中 虽然an是指向Dog()的引用,但是an是当做Anaimal用的 所以看不到Dog独有的那部分 当然: 如果an想访问 Dog独有的 ...
分类:
编程语言 时间:
2018-05-28 00:54:10
阅读次数:
264