java中子类与基类变量间的赋值

时间:2015-11-11 09:51:56   收藏:0   阅读:330

Java中子类与基类变量间的赋值

子类对象可以直接赋给基类变量。

基类对象要赋给子类对象变量,必须执行类型转换,

其语法是:

子类对象变量=(子类名)基类对象名;

也不能乱转换。如果类型转换失败Java会抛出以下这种异常:

ClassCastException

 

技术分享

 

package yanzheng;

 

class Mammal{}

class Dog extends Mammal {}

class Cat extends Mammal{}

 

public class TestCast

{

public static void main(String args[])

{

Mammal m;

Dog d=new Dog();

Cat c=new Cat();

m=d;

//d=m;

d=(Dog)m;

//d=c;

c=(Cat)m;

 

}

}

 

第一个:正确。子类可以为基类对象赋值。

第二个:错误。将父类的m强制转换为子类的d

第三个:第五个参考上面一开始的结论。

第四个:不对。虽然都是继承于同一个父类,但依然是两个不同不同的子类,两个不同的子类不可以赋值。

 

原文:http://www.cnblogs.com/diyunfei/p/4955153.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!