济宁网站建设济宁,网络销售代理加盟,网站建设做账,wordpress onepress非继承关系的类之间对象类型不可以互相类型转换#xff0c;只有继承关系才可以互相转换。
简单说#xff0c;对象类型转换的前提要是继承关系。
对象类型转换分为#xff1a;向上转型和向下转型。多态就是一种自动向上转型。
向上转型#xff1a;子类对象用父类类型接收…非继承关系的类之间对象类型不可以互相类型转换只有继承关系才可以互相转换。
简单说对象类型转换的前提要是继承关系。
对象类型转换分为向上转型和向下转型。多态就是一种自动向上转型。
向上转型子类对象用父类类型接收多态。向下转型父类类型转换为子类类型。
例如
class A {
}
class B extends A {
}
class D {
}自动向上转型
A a new B();强制向下转型
A a new B();
B b (B)a;错误演示
A a new D();
//或
A a new A();
D d (D)a; //编译错误为了避免错误的转换我们可以在转换之前可以使用instanceof判断是否可以转换。
public void test(A a) {if(a instanceof B) {B b (B)a;}
}