你的位置:首页 > Java教程

[Java教程]Java之多态


①    什么是多态?
    多态(polymorphism)是具有表现多种形态的能力的特征。同一个实现接口,使用不同的实例而执行不同的操作

②    什么是向上转型?语法要求是什么?
   1、 将一个父类的引用指向一个子类对象,称为向上转型(upcasting),此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法,此时通过父类引用变量无法调用子类特有的方法
    <父类型> <引用变量> = new <子类型>()

  自动类型转换 
    
③    什么是向下转型?语法要求是什么?
    将一个指向子类对象的父类引用赋给一个子类的引用,称为向下转型(downcasting),向下转型可以访问子类特有的方法。必须转换为父类指向的真实子类类型,否则将出现类型转换异常ClassCastException

  强制类型转换
    
④    实现多态的三个条件是什么?
    1、继承的存在(继承是多态的基础,没有继承就没有多态)
    2、子类重写父类的方法(多态下调用子类重写后的方法)
    3、父类引用变量指向子类对象(子类到父类的类型转换)
    
⑤    使用多态有什么好处?
    减少类中的代码量,可以提高代码的可扩展性和可维护性
    
◆    instanceof运算符的作用和语法格式?
    判断一个对象是否属于一个类或者实现了一个接口
    boolean result = object instanceof class(interface)

  注:使用instanceof运算符时,对象的类型必须和instanceof的第二个参数所指定的类或接口在继承树上有上下级关系,否则会出现编译错误,instanceof通常和强制类型转换结合使用