package com.多态;
public class Demo1 {
/**
* @param args * int i=10; * byte j=20; * i=j;//自动类型提升 * j=(byte)i;//自动类型转换 */ public static void main(String[] args) { Animal2 a=new Cat();//父类引用指向子类对象。就是向上转型 System.out.println(a.num);//10,a引用只能看到父类对象属性值 a.eat();//编译看到父类方法,运行子类方法 Cat c=(Cat)a;//向下转型,引用c就能看到子类对象 c.fly(); }}
class Animal2{ int num=10; public void eat(){ System.out.println("动物吃"); }}class Cat extends Animal2{ int num=20; public void eat(){ System.out.println("猫吃"); } public void fly(){ System.out.println("猫飞"); }}