JAVA基础语法10
笔记 多态 上
多态
- 多态(Polymorphism)按字面的意思就是“多种状态”,是面向对
象的程序设计语言最核心的特征。 - 从一定角度来看,封装和继承几乎都是为多态而准备的。
现实中,关于多态的例子不胜枚举
- 动物们都有吃东西,跑,跳,叫的方法,不同的动物表现方式不同
- 按下 F1 键这个动作,针对当前工作窗口,显示不同工具的帮助文
档
向上转型、隐式转型、自动转型父类引用指向子类实例,可以调用子类重写父类的方法以及父类派生的方法,无法调用子类独有方法注意:父类中的静态方法无法被子类重写,所以向上转型之后,只能调用到父类原有的静态方法小类转型为大类
// /*向下转型、强制类型转换
// * 子类引用指向父类对象,此处必须进行强转,【注】就可以调用子类特有的方法
// * 必须满足转型条件才能进行强转
// * instanceof运算符:返回true/false 判断它是否可以类型转换
// */
// if(two instanceof Cat){
// Cat temp=(Cat)two;
// temp.eat();
// temp.run();
// temp.getMonth();
// System.out.println("two可以转换为Cat类型");
// }
//
// if(two instanceof Dog){
// Dog temp2=(Dog)two;
// temp2.eat();
// temp2.sleep();
// temp2.getSex();
// System.out.println("two可以转换为Dog类型");
// }
-
父类含有 static 方法不可以被重写,若子类有相同的static方法,那是子类特有的方法
-
抽象类
- 抽象类无法实例化,但可以指向子类实例
- 抽象类无法实例化,但可以指向子类实例
- 注