/**
* 一个java文件中只能包含一个public类。
*
* @author jiaxutianhuo
*
*/
public class Instanceof {
// 内部类
class a {
}
public static void test(F f){
f.t1();
// C2 c2=(C2)f;
// c2.t2();相当于下一行写法,将f强制转化为子类。
if(f instanceof C2){//强转之前,判断了类型,才可以转换,否则就出错。
((C2)f).t2();
System.out.println("该类型是C2类型,强转完成。");
}else{
System.out.println("该类型不是C2类型,不能强转。");
}
}
public static void main(String[] args) {
C1 c1=new C1();
C2 c2=new C2();
test(c1);//此处传入函数中,需要强转,但如果不进行判断,可能会出现问题。
test(c2);
}
}
class F {
public void t1() {
}
}
class C1 extends F {
}
class C2 extends F {
public void t2() {
}
}
强转失败的情况,父类转子类。
最新推荐文章于 2024-08-21 02:04:59 发布