public class Test{ public static class SubTest extends Test{ public void test(){ System.out.println("sub"); } } public void test(){ System.out.println("father"); } public static void main(String[] args) { Test t=new Test.SubTest(); t.test(); } }向下转型本身有可能是不合法的,关键看要转换的类型本身是不是子类的对象.
public class Demo { public static class Inner extends Demo { //some code } public static void main(String[] args) { Demo d = new Demo.Inner(); Demo.Inner i = (Demo.Inner) d; }}
王子的意思是不是对于private类型的内部类是拿不到的吧?
呵呵;我就是看到一句话: 转型成为private内部类;是在 《thinking in java》的6.2.1章节;
public static class SubTest extends Test{
public void test(){
System.out.println("sub");
}
}
public void test(){
System.out.println("father");
}
public static void main(String[] args) {
Test t=new Test.SubTest();
t.test();
}
}向下转型本身有可能是不合法的,关键看要转换的类型本身是不是子类的对象.
//some code
} public static void main(String[] args) {
Demo d = new Demo.Inner();
Demo.Inner i = (Demo.Inner) d;
}}