1、Java 引用变量有两个类型:一个是编译时的类型,一个是运行时的类型,编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就会出现所谓的多态性;
2、引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法,这就是方法多态性的体现。
3、多态性是针对方法的,对象的属性不具备多态性。...
分类:
编程语言 时间:
2015-01-08 13:24:52
阅读次数:
177
1:成员变量->编译时:参考引用型变量所属的类中的是否有调用的成员变量,有,编译通过,没有,编译失败。 运行时:产考引用型变量所属的类中是否有调用的成员变量,并运行该所属类中的成员变量。 (简单说:编译和运行时参考等号的左边)2:成员函数—>编译时:参考引用型变量所属的类中是否有调用...
分类:
编程语言 时间:
2015-01-07 12:32:35
阅读次数:
212
public class SuperDemo extends Demo { int i = 7; SuperDemo(){} void show() { System.out.prin...
分类:
编程语言 时间:
2014-12-27 11:23:49
阅读次数:
212
1.多态性
1.概念
向上转型(自动完成)
子类转变成父类
父类 父类对象 = 子类实例化对象
向下转型(强制)
父类转变成子类,必须首先进行向上转型
子类 子类对象 = (子类)父类实例化对象
2.子类对象向上转型
//本程序是多态性的测试
class A //定义类A
{
public void fun1() //定义类A的fun1方法
{
Sy...
分类:
编程语言 时间:
2014-12-15 17:17:57
阅读次数:
182
看到关于多态这个词语,一直没搞懂有什么用,这里以动物解释,动物(Animal)都会走(walk),但是狗是四条腿走(walk),人是两条腿跳着走(walk),使用了多态之后,当在不能确定到底哪种动物会出现的情况下,根据实际情况进行确认走的行为是狗还是袋鼠。例如:Animalit=newDog();it.w..
分类:
编程语言 时间:
2014-12-06 06:38:23
阅读次数:
212
多态:
可以理解为事物存在的多种体现形态。
人有什么形态,男人、女人。
多态是子类对象在做着变化。
猫 x = new 猫 ();
动物 x = new 猫();
这就是一个对象具有多种形态。X是猫类型,同时也是“动物”类型。
类型提升 : 把猫提升为动物类型。向上转型
1.多态的体现
父类的引用指向了自己的子类对象
父类的引用也可以接收自己的子类对象
...
分类:
编程语言 时间:
2014-12-04 15:44:57
阅读次数:
141
论坛里面有人问多态的体现形式,然后下面有个回复:java中多态的体现在两个方面,
第一种是有方法重载产生的编译时多态,
第二种即是视频中有讲到的由方法的覆盖产生的运行时多态(父类引用指向子类对象)楼主回复谢谢,然后下面又有个回复:java中的多态有三种形式:
1、方法..
分类:
其他好文 时间:
2014-12-03 01:55:22
阅读次数:
118
Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。
重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们就说该方法被重写;子类的对象使用这个方法时,将调用子类中的定义,对它而言,...
分类:
编程语言 时间:
2014-12-02 00:11:50
阅读次数:
324
Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。
重写是父类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们就说该方法被重写;子类的对象使用这个方法时,将调用子类中的定义...
分类:
编程语言 时间:
2014-12-02 00:09:45
阅读次数:
291