Java中对象类型的转换

对象类型的转换在Java中经常遇见,主要包括了向上转型和向下转型操作。

 

一、向上转型

因为平行四边形是特殊的四边形,也就是说平行四边形是四边形的一种,那么就可以将平行四边形对象看作一个四边形对象,这就是向上转型(将子类对象看作是父类对象),通过下列示例来说明:

class Quadrangle{								//四边形类
	public static void draw(Quadrangle q) {		//四边形类中的方法
		//SomeSentence
	}
}

public class ParalleLogram extends Quadrangle {	//平行四边形类,继承了四边形类
	public static void main(String args[]) {
		ParalleLogram p = new ParalleLogram();	//实例化平行四边形类对象引用
		draw(p);
	}
}

 

二、向下转型

向下转型是将抽象类转换为较具体的类。这样的转型通常会出现问题,例如,不能说四边形是平行四边形的一种、所有鸟都是鸽子,可以说子类对象总是父类的一个实例,但是父类对象不一定是子类的实例,如果将上面一个示例进行修改,将四边形类对象赋予平行四边形类对象,示例如下:

class Quadrangle{								//四边形类
	public static void draw(Quadrangle q) {		//四边形类中的方法
		//SomeSentence
	}
}

public class ParalleLogram extends Quadrangle {	//平行四边形类,继承了四边形类
	public static void main(String args[]) {
        draw(new ParalleLogram());              
        //将平行四边形类对象看作是四边形对象,称为向上转型操作
		Quadrangle q = new ParalleLogram();     
        //ParalleLogram  p = q;   
        //将父类对象赋予子类对象,这种写法是错误的
        //将父类对象赋予子类对象,并强制转换为子类型,这才是正确的
        ParalleLogram p = (ParalleLogram q)
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值