public class ClassCastTest { public static void main(String[] args) { FiClass fiClass=new FiClass(); BaseClass baseClass=new BaseClass(); BaseClass baseFi=new FiClass();//åä¸è½¬åä¸éè¦å¼ºè½¬ BaseClass f2=(BaseClass)new FiClass(); // FiClass fiBase=(FiClass) new BaseClass();//伿å¼å¸¸ï¼å 为ç¶ç±»ä¸è½ç´æ¥å¼ºè½¬ä¸ºåç±» FiClass ff=(FiClass) baseFi;//没æå¼å¸¸ï¼å 为å½è¯¥å¼ç¨ç±»åçå¼ç¨æ¯ç¶ç±»ä½æ¯å¯¹è±¡æ¯åç±»ï¼å·²ç»ç»è¿åä¸è½¬åï¼,å¯ä»¥è¿è¡å¼ºè½¬ System.out.println(fiClass instanceof FiClass); System.out.println(baseClass instanceof BaseClass); System.out.println(baseClass instanceof FiClass); System.out.println(fiClass instanceof BaseClass); System.out.println(ff instanceof BaseClass); System.out.println(ff instanceof FiClass); } } class BaseClass{ private int num; public void setNum(int num) { this.num = num; } public int getNum() { return num; } } class FiClass extends BaseClass{ private String f; public void setF(String f) { this.f = f; } public String getF() { return f; } }