在Java中对于多态性由两种实现的模式:
方法的重载:同一个方法名称可以根据传入的参数类型和个数的不同,进行不同的处理。
方法的覆写:同一个方法可能根据使用子类的不同,由不同的实现。
父子实例之间的转换处理,有两种模式:
public class JavaDemo {
public static void main(string args[]) {
fun(new DataBaseMessage ()) ; //DataBaseMessage 是 Mesrage的一个子类
MessaMessafun(new WebServerMessage ()) ; // WebServerMessage 也是 Mesrage的一个子类
public static void fun(Mesrage msg){ // 不管传递的是哪个类型的子类都能实现接收,且覆写的方法依旧有用
msg.print()
}
为了保证向下转型的正确性,故需要在转型之前判断某个实例是否是某个类的对象,此时就需要通过 instanceof 关键字来进行判断。
语法: 对象 instanceof 类