Java中的向上转型和向下转型 1. 向上转型的概念 向上转型(Upcasting)是指将一个子类对象赋值给一个父类类型的引用变量。这是多态性的一种体现,因为子类对象是父类的一个特例。在Java中,向上转型是安全的,因为子类继承了父类的所有属性和方法(除了私有方法和构造方法)。向上转型允许我们使用父类类型的引用来调用子类...
Java语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。Java中引用类型之间的类型转换(前提是两个类是直接或间接的父子关系)主要有两种,分别是向上转型(upcasting)和向下转型(downcasting)。我们先来看下面这张图:猫、狗、牛、羊都是动物,所以”动物“是父类,猫狗牛羊是具体的子类。
(子类对象是可以通过向上转型获得的,如果被转换的确实是一个子类对象,见例四) 3.Java容器 /*代码节选自《Java编程思想》15.10节*/classFruit {}classAppleextendsFruit {}classOrangeextendsFruit {}publicclassTest {publicstaticvoidmain(String[] args) {//无法编译List<Fruit> fruitList =newArrayList<Apple>()...
在java中,向下转型则是为了,通过父类强制转换为子类,从而来调用子类独有的方法(向下转型,在工程中很少用到). 为了保证向下转型的顺利完成,在java中提供了一个关键字:instanceof,通过instanceof可以判断某对象是否是某类的实例,如果是则返回true,否则为false,instanceof使用如下: A a =newB();//向上转型 (B类...
Java中的向上转型和向下转型是面向对象编程中的两个重要概念。 1. 向上转型 向上转型是指将子类的对象赋给父类变量的过程。在向上转型后,原来子类特有的部分被“隐藏”,只能访问父类中共有的部分。向上转型可以通过父类引用调用子类对象的共有方法。例如: class Animal { public void move() { System.out....
java中对象的转型分为向上转型和向下转型 一、对象的向上转型 1.1、定义 子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口 1.2、解释 比如说我有两个类,一个是父类Animal,另一个是Bird类为子类。
向下转型:这里要注意一点,向下转型是你向上转型后才能执行的操作。所以把转型后的animal赋值给cat_s,此时却发现cat_s对象“增肥”了,不仅能访问Animal类成员,还能访问Cat中新增的成员。编写测试程序IAnimal.java接口。此接口有一个未实现的方法sing();编写Tiger.java类,实现IAnimal类,并新增成员变量head和成员...
沉迷java不能自拔在Java 中,向上转型和向下转型都是对象类型的转换方式。 向上转型是将一个子类对象转换为它的父类类型,可以理解为子类对象变为父类对象,也可以称为自动类型转换。这种转型是安全的,因为子类对象具有父类对象的所有属性和方法,所以可以直接赋值给父类类型的变量。语法如下: 父类类型 变量名 = new ...
MMGirl mmg1=(MMGirl)g2; //不安全的向下转型,编译无错但会运行会出错 运行出错: Exception in thread "main" java.lang.ClassCastException: com.wensefu.other1.Girl at com.wensefu.other1.Main.main(Girl.java:36) 如代码所示,可以通过instanceof来防止出现异常。 一、向上转型与向下转型。 对象类型的...
Java对象类型转换是非常常见的操作,在代码中经常会使用到。向上转型和向下转型在不同的场景下有不同的应用,灵活运用可以提高代码的可维护性和扩展性。 在进行向下转型时,一定要进行类型检查,以避免运行时异常。使用instanceof操作符可以判断一个对象是否为指定类型的实例,从而安全地进行向下转型。