zoukankan      html  css  js  c++  java
  • 4.6Java对象转型(casting)

    4.6Java对象转型(casting)

    本章内容

    • 向上转型

    • 向下转型


    向上转型

    定义:

    • 父类引用指向子类对象,这个过程称之为向上转型

    • 属于自动转型类型

    向下转型

    特点:

    • 向上转型后的父类引用变量只能调用它的编译类型的方法,不能调用它运行时类型的方法。这个时候需要强制类型转换,称之为向下转型

    对象的转型:

    public class TestPolym {
       public static void main(String[] args) {
           //创建Animal对象
           Animal a = new Animal();
           animalCry(a );
      }

       //为了方便调用写一个方法
       static void animalCry(Animal a){
           a.shout();
           /*
           a的类型是Animal
           Dog是子类对象,子类对象给了父类引用
           父类的类型指向了子类的对象,这时候就发生了多态
           传的对象不一样,所以调用的shout方法也不一样,根据实参确定
           存在目的为了少些重载
           下面加子类可以方便调用
            */

           Dog d = new Dog(); //把Dog d 改为Animal d没有问题,到调用方法的时候还是运行Dog的方法
           /*
           在这个为止编译器认为这个类型是Animal不是Dog
           所以只能用Animal类下的方法而不能用Dog下的方法
            */
    //       animalCry(d);
           animalCry(new Cat());
           Dog d2 = (Dog)d;
           /*
           编译器认为这个d2经过强制类型转换转成了Dog
           所以可以用Dog类下的方法
            */
      }
    }

    再转型的时候只能够父类和子类之间的自由转型和强制转型。同样继承于一个父类的两个子类之间不能够强制转型

    It's a lonely road!!!
  • 相关阅读:
    web print
    datediff
    Typical AJAX
    sql中构建sql语句,再exec这条SQL语句
    ASP.NET中将数据输出到WORD、EXCEL、TXT、HTM
    sql中添加单引号
    sql语句批处理
    日期分组
    异步线程
    电脑内存大有什么好处?
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14626252.html
Copyright © 2011-2022 走看看