java多态 向上转型和向下转型

it2022-05-05  98

package com.up; public class Cat extends Animal{ public void eat(){ System.out.println("吃鱼"); } public void work(){ System.out.println("抓老鼠"); } } package com.up; public class Animal { public void eat(){ System.out.println("Animal eat"); } } package com.up; public class Main002 { public static void main(String[] args) { //Animal没有多态的性质向下转型失败 // Animal animal = new Animal(); // Cat cat = (Cat)animal; //向上转型,Animal具有多态性质 (子类对象转为父类对象) Animal animal = new Cat(); //错误情况 //Cat cat = new Animal(); //调用的是Cat的eat方法 animal.eat(); //向下转型 (父类对象转为子类对象) Cat cat = (Cat)animal; cat.work(); } }

灵魂画手


最新回复(0)