java特性多态 向上和向下转型
2019-02-15 09:32
423 查看
多态:多种形态。 父类的引用指向子类的对象。
- 父类的引用作为方法的形参
- 父类的引用作为方法的返回值类型
- (多态)父类在调用方法时 如果子类有重写过的方法 会执行子类重写后的
/** * 主人类 * @author Charles * */ public class Master { /*public void feedMonkey(Monkey monkey) { } public void feedTiger(Tiger tiger) { }*/ // 多态:父类的引用/声明 指向了子类的对象 // 多态应用1.父类的引用可以作为方法的形参 // Pet pet = new Pet(); // Pet pet = new Monkey(); // Pet pet = new Tiger(); public void feedPet(Pet pet) { // 父类的引用无法直接调用子类特有的内容 // instanceof 判断对象是否是某个类型 if(pet instanceof Monkey) { System.out.println("香蕉香蕉!"); }else if(pet instanceof Tiger) { System.out.println("猴子猴子!"); } } /*public Monkey getMonkey() { return new Monkey(); } public Tiger getTiger() { return new Tiger(); }*/ // 多态应用2.父类的引用可以作为方法的返回值类型 public Pet getPet(int choice) { if(choice == 1) { return new Monkey(); }else if(choice == 2) { return new Tiger(); } return null; } }
四.会使用instanceof运算符
instanceof(…的对象/实例):用来判定是否是某个类型的对象。
String str1 = "xxx";
str1(对象) instanceof String(类型)表示判断str1是否是字符串类型
五.会使用向上、向下转型
类型转换。
自动类型转换
强制类型转换
Pet pet = new Monkey(); // 自动类型转换 向上转型
// 父类的引用无法调用子类的特有特征 所以需要强转
Monkey mon = (Monkey)pet; // 强制类型转换 向下转型
一般配合instanceof进行转型!
if(pet instanceof Monkey){
Monkey mon = (Monkey)pet;
}
相关文章推荐
- Java多态——向上转型与向下转型
- (转载)java多态(2)-------Java转型(向上或向下转型)
- 理解java中向上向下转型(java多态原理)
- 2.25 Java基础总结 ①多态②向上向下转型③instanceof
- Java多态(利用向上向下转型和反射机理)
- java 什么是多态?多态的三种表现形式?什么是向上转型和向下转型?多态的利和弊?
- java中多态的理解,instanceof关键字,向上向下转型的理解
- 0905 Java中多态的向上转型和向下转型
- 多态实现(向上转型、向下转型)--java
- java面向对象基础语法——抽象类,接口 ,多态,向上转型,向下转型
- JAVA笔记-多态的意义(向上转型与向下转型)
- Java多态的“向上转型”和“向下转型”
- java的多态(向上转型、向下转型)
- Java多态(利用向上向下转型和反射机理)
- Java多态 向上转型 向下转型
- java多态中的向上转型和向下转型
- Java多态 向上转型 向下转型
- java多态的向上转型与向下转型(与编译时类型与运行时类型有关)
- Java 多态部分 向上转型 向下转型
- Java向上转型和向下转型(多态核心)