f1.show1(); //通过向下转型就可以调用show1方法 } } //并不是任意两个类型都可以进行向下转型,只有当实际内存对象与要转的对象类型一致时才可以 // Demo1 d1=(Demo1) z1; 不行会报错,z1的对象类型是Zi1,而不是Demo1
Java语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。Java中引用类型之间的类型转换(前提是两个类是直接或间接的父子关系)主要有两种,分别是向上转型(upcasting)和向下转型(downcasting)。我们先来看下面这张图:猫、狗、牛、羊都是动物,所以”动物“是父类,猫狗牛羊是具体的子类。
2.向下转型 并不是所有的对象都可以向下转型,只有当这个对象原本就是子类对象通过向上转型得到的时候才能够成功转型。 实例化Apple类,并新建一个Fruit类的引用变量“fruit”引用该实例,然后新建一个Apple类的引用变量,引用向下转型的“fruit”变量,代码如下: Fruit fruit = new Apple(); Apple apple = (Apple) fr...
Java中的向上转型和向下转型 1. 向上转型的概念 向上转型(Upcasting)是指将一个子类对象赋值给一个父类类型的引用变量。这是多态性的一种体现,因为子类对象是父类的一个特例。在Java中,向上转型是安全的,因为子类继承了父类的所有属性和方法(除了私有方法和构造方法)。向上转型允许我们使用父类类型的引用来调用子类...
java 对象向下转型 底层原理 java向下转型注意,感冒咳嗽停更了几天,今天恢复更新了。先来看下instanceof与向下转型的概念:1.instanceof instanceof是一个二元操作符,用法是:booleanresult=ainstanceofClassA,即判断对象a是否是类ClassA的实例,如果是的话
Java的向下转型 简单的说向上转型就是:将一个父类类型的变量强制转换为子类类型。具体的实现语法: 子类类型 变量名=(子类类型)父类类型的变量 DEMO:向下转型 packagecom.baidu.demo;publicclassHello{publicstaticvoidmain(String[]args){//向上转型Personper=newStudent();//向下转型Workerw=(Worker)per;w.say()...
参考:聊聊java的向上转型与向下转型 向上转型 向上转型是用来表现新类和基类之间的关系。在传统中,由导出类转型成基类,在继承图中是向上移动的。因此称作向上转型。由于向上转型是从一个较专用类型向较通用类型转换,所以总是安全的。也就是说,导出类是基类的一个超集。它可能比基类含有更多的方法。但他必须具备基类...
在Java中,向下转型可以通过强制类型转换实现。强制类型转换的语法格式为:子类类型 变量名 = (子类类型) 父类对象。 需要注意的是,向下转型只能在父类对象实际上是子类对象的情况下进行。否则,在运行时会抛出ClassCastException异常。 为了更好地理解向下转型的概念和使用方法,下面通过一个具体的例子来进行说明。 假设...
testClass.java。这个是我们的测试类。此时我们就来分析一下类的向上转型和向下转型。向上转型:可以看出把Cat()的对象赋值给naimal时,不再有用getEyes()方法,此方法是Cat中的方法,而Animal类中无此方法。这说明animl对象发生了“瘦身”。向下转型:这里要注意一点,向下转型是你向上转型后才能执行的操作。
在Java 中,向上转型和向下转型都是对象类型的转换方式。 向上转型是将一个子类对象转换为它的父类类型,可以理解为子类对象变为父类对象,也可以称为自动类型转换。这种转型是安全的,因为子类对象具有父类对象的所有属性和方法,所以可以直接赋值给父类类型的变量。语法如下: ...