面试题1、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
- 静态嵌套类:是被声明为静态(static)的内部类,它可以不依赖于外部类实例而被实例化。
- 内部类:需要在外部类实例化后才能实例化。
面试题2、下面的代码哪些地方会产生编译错误?
class Outer{
class Inner{}
public static void foo(){
new Inner();
}
public void bar(){
new Inner();
}
public static void main(String[] args) {
new Inner();
}
}
上述代码中,foo()方法和main()方法都是静态方法,静态方法中没有this,也就是说没有所谓的外部类对象,因此无法创建内部类对象,如果要在静态方法中创建内部类对象,可以按如下方法做:
new Outer().new Inner();
![2018Java面试必备-内部类(Inner Class)实际案例](http://p2.ttnews.xyz/loading.gif)
![2018Java面试必备-内部类(Inner Class)实际案例](http://p2.ttnews.xyz/loading.gif)
閱讀更多 悟空程序生活 的文章