public class OuterClass {
public static void main(String[] args) {
// Face f = new Face();
// Nose n = f.new Nose(); //必须导入该类
Face.Nose fn = new Face().new Nose(); //不需要导入类
}
}
class Face{
int type;
public class Nose{
String type;
void breath(){
System.out.println("呼吸!!");
}
}
}
直接创建一个内部类为什么需要导入Nose类呢?
Face f = new Face();
Nose n = f.new Nose();作者: 梵天的梦 时间: 2014-2-13 17:50
因为内部类在定义的时候被当做外部类的属性了,编译的时候就找不到内部类了,所以直接实例化内部类的时候要导入内部类。而通过外部类实例化内部类的时候,内部类是被当做属性的,所以不需要导入 作者: 乔青山 时间: 2014-2-13 18:13