- 执行这个java程序以后有错误,为什么啊?怎么改?classCa
- class aaa{}
class Cbbb extends Caaa{}
class Cccc extends Cbbb{}
class app
{
public static void main(String args[])
{
Cbbb b1=new Cbbb();
Cbbb b2=new Cccc();
Cccc c1=new Caaa();
Cccc c2=new Cbbb();
Cccc c3=new Cbbb();
}
}
执行以后上面显示有3个错误,"……不兼容的类型",这个是为什么啊
- 父类引用(实例)可以=子类对象,但子类引用(实例)不能=父类对象,子类有的属性和方法父类不一定有,但父类的属性和方法子类一定继承的。
可以强制子类引用(实例)=父类对象,例:
class Caaa{}
class Cbbb extends Caaa{}
class Cccc extends Cbbb{}
class app
{
public static void main(String args[])
{
Cbbb b1=new Cbbb();
Cbbb b2=new Cccc();
Cccc c1=(Cccc) new Caaa();
Cccc c2=(Cccc) new Cbbb();
Cccc c3=(Cccc) new Cbbb();
}
}
但要保障你用的子类属性和方法父类有,且只能用父类有的方法和属性。
多态是java的特点之一,建议LZ找找有关多态的资料就会清楚了。