三.Java的多态性
3.1 多态性的含义
通过类型转换,把一个对象当作它的基类对象对待。
从相同的基类派生出来的多个派生类可被当作同一个类型对待,可对这些不同的类型进行同样的处理。
测试例子:
public class Game{}class Football extends Game{public void play(){System.out.println("踢足球");}}
假如这样调用:
Game game = new Football();
game.play();
错误:The method play() is undefined for the type Game
play()在Game这个类中并没有定义,因为game是Game类型的。
3.4 Java中强制的多态
强制多态隐式的将参数按某种方法,转换成编译器认为正确的类型以避免错误。
2.0 + 2.0
将两个double的操作数相加;Java中特别声明了这种用法。
2.0 + 2
将double和int的操作数相加。Java中没有明确定义这种运算。编译器隐式的将第二个操作数转换为double型,并作double型的加法。
2.0 + "2"
将double与一个String相加。Java中同样没有定义这样的操作。所以,编译器将 double转换成String类型,并将他们做串联。