码迷,mamicode.com
首页 > 编程语言 > 详细

java-多态的向上向下转型

时间:2018-01-08 01:12:59      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:pack   对象   public   编译   pac   animal   extends   dem   extend   

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("猫飞");
  }
}

java-多态的向上向下转型

标签:pack   对象   public   编译   pac   animal   extends   dem   extend   

原文地址:https://www.cnblogs.com/zhujialei123/p/8232670.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!