Java:向上造型与向下造型

Java:向上造型与向下造型


前言:众所周知,四边形包括正方形、长方形、平行四边形、菱形等图形。接下来用四边形例子来说明向上造型与向下造型。

向上造型

将一个较具体的类转换到一个较抽象的类。

//四边形类
class Quadrangle{
	public static void draw(Quadrangle q){
		//do something
	}
}

//正方形类
class Square extends Quadrangle{
	public static void main(String args[]){
		Square s = new Square();//实例化s
		draw(s);//调用父类方法
	}
}

由于正方形也是四边形的一种,所以可以把正方形对象看作是一个四边形对象,调用四边形类的方法。

向下造型

将一个较抽象的类转换到一个较具体的类。

//四边形类
class Quadrangle{
	public static void draw(Quadrangle q){
		//do something
	}
}

//正方形类
class Square extends Quadrangle{
	public static void main(String args[]){
		draw(new Square());//向上造型,将正方形对象转为四边形
		Quadrangle q = new Quadrangle();//实例化q
		//接下来有两种构造正方形对象s的方法
		//1、将父类对象直接赋予子类,这样相当于把一个较抽象类直接转化为较具体类,会出错
		Square s = q;
		//2、将父类对象经过显示转换,强制转化为子类,正确
		Square s = (Square)q;
	}
}

总结

以正方形与四边形为例,可总结为

四边形 = 正方形; //即把正方形当做是四边形,正确,因为较具体类可以转化为较抽象类
正方形 = 四边形; //即把四边形当做是正方形,错误,因为较抽象类不可以直接转化为较具体类
正方形 = (四条边相等且每相邻的边相互垂直的)四边形 //即强制转换,正确
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值