java之对象向下转型

java中,向下转型是为了重新获得因为向上转型而丢失的子类特性。在先下转型前,必须先进行向上转型。

语法格式如下

父类类型 父类对象=子类实例

子类类型 子类对象=(子类)父类对象

示例代码如下

java 复制代码
class Animal01
{
	public void shout()
	{
		System.out.println("喵喵");
	}
}

class Dog01 extends Animal01
{
	public void shout()
	{
		System.out.println("汪汪");
	}
	public void eat() {
		System.out.println("吃骨头");
	}
}

public class Xiangxiazhuanxing {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Animal01 an = new Dog01();
		Dog01 dog = (Dog01) an;
		dog.shout();
		dog.eat();

	}

}

在上面代码中

java 复制代码
		Animal01 an = new Dog01();
		Dog01 dog = (Dog01) an;

第一段实现了向上转型,第二段实现了向下转型

相关推荐
wainyz4 分钟前
Java NIO操作
java·开发语言·nio
工业3D_大熊9 分钟前
【虚拟仿真】CEETRON SDK在船舶流体与结构仿真中的应用解读
java·python·科技·信息可视化·c#·制造·虚拟现实
喵叔哟12 分钟前
重构代码之用委托替代继承
开发语言·重构
lzb_kkk18 分钟前
【JavaEE】JUC的常见类
java·开发语言·java-ee
SEEONTIME18 分钟前
python-24-一篇文章彻底掌握Python HTTP库Requests
开发语言·python·http·http库requests
起名字真南37 分钟前
【OJ题解】C++实现字符串大数相乘:无BigInteger库的字符串乘积解决方案
开发语言·c++·leetcode
爬山算法42 分钟前
Maven(28)如何使用Maven进行依赖解析?
java·maven
tyler_download1 小时前
golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证
开发语言·数据库·golang
小小小~1 小时前
qt5将程序打包并使用
开发语言·qt
hlsd#1 小时前
go mod 依赖管理
开发语言·后端·golang