今天做了一个测试的题目,发现自己还是很多问题没有静下心来做。很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了。所以这个要自己应以为鉴!

 对象的转型问题其实并不复杂,我们记住一句话:“父类引用指向子类对象”。

java中对象的转型分为向上转型和向下转型

  1.1、定义

    子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口

  1.2、解释

    比如说我有两个类,一个是父类Animal,另一个是Bird类为子类。

    Animal b = new Bird();

    这就是upcasting,向上转型。这时b就是执行以恶搞Bird对象。

  1.3、实例

 

package com.zyh.test;

public class Animal {
    public void eat(){
        System.out.println("animal eating....");
    }
}
class Bird extends Animal{
    public void eat(){
        System.out.println("Bird eating...");
    }
    public void fly(){
        System.out.println("Bird flying...");
    }
}
class Main{
    public static void main(String[] args){
        Animal b1 = new Bird();
        b1.eat();
//        b1.fly();  b虽然指向子类对象,但此时丢失了fly方法
        doSleep(new Male());
        doSleep(new Female());
        
    }
    public static void doSleep(Human h){
        h.sleep();
    }
}
Animal.java

相关文章:

  • 2021-12-04
  • 2018-05-04
  • 2021-12-15
猜你喜欢
  • 2021-06-04
  • 2021-05-16
  • 2022-12-23
  • 2021-11-27
  • 2021-09-14
  • 2022-02-25
相关资源
相似解决方案