自己做网站要学什么软件,辽阳做网站,工程设计方案主要内容,旅游网站的建设的文献综述一、多态介绍
多态是在继承/实现情况下的一种现象#xff0c;表现为#xff1a;对象多态、行为多态。
对象多态就比如水果可以是苹果也可以是西瓜。 行为多态如何分辨呢#xff0c;编译的时候会看People类中是否有run方法#xff0c;运行的时候看Teacher中或者Student中的…一、多态介绍
多态是在继承/实现情况下的一种现象表现为对象多态、行为多态。
对象多态就比如水果可以是苹果也可以是西瓜。 行为多态如何分辨呢编译的时候会看People类中是否有run方法运行的时候看Teacher中或者Student中的run方法。
多态的前提有继承/实现关系存在父类引用子类对象存在方法重写。
多态注意事项多态是对象、行为的多态Java中的属性成员变量不谈多态。
使用多态的好处在多态形式下右边对象是解耦合的更便于拓展和维护。并且定义方法时使用父类类型的形参可以接收一切子类对象拓展性更强。
public class Test {public static void main(String[] args) {//多态的好处//1.对象多态一个对象可以有多个类如果一个对象是某个类那么它可以是其他类People p1 new Teacher();p1.run(); //好处1实现解耦合右边对象可以随时切换后续业务随机应变//好处2可以使用父类类型的变量作为形参可以接受一切子类对象Student s1 new Student();Teacher t1 new Teacher();test(s1);test(t1);} public static void test(People p) {}
}
二、类型转换
自动类型转换父类 变量名 new 子类();
强制类型转换子类 变量名 (子类) 父类变量
多态下的问题无法直接调用子类的独有功能而使用强制类型转换就可以解决问题 强制类型转换的注意事项存在继承/实现关系就可以在编译阶段进行强制类型转换编译阶段不会报错。运行时如果发现对象的真实类型和强制转换后的类型不同就会报类型转换异常错误。 强制转换前可以使用instanceof关键字判断当前对象的真实类型再进行转换。