int v = 2;
float f = (int)v;
显式转换,必然成立
类继承时:
父类:
Class Enemy{
}
子类:
Class Boss:Enemy{
}
Main方法中:
Enemy enemy=new Enemy();
Boss boss=(Boss)enemy;
//此处使用强制转换,将父类声明的对象转化成子类,这里enemy使用了父类的构造函数,只有父类中的字段与方法,不能强制转换
另:
Enemy enemy;//Enemy enemy=new Enemy();一样
enemy=new Boss();
此次成立,因为父类声明的对象可以用子类构造,好比:
//车 car=new 车();
//car=new 自行车();
//自行车可以叫车,反过来车不一定都是自行车
Boss boss=(Boss)enemy;
因为enemy是用子类的构造,所以可以强制转换成子类