问:静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html
答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html
测试代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html
面试题 - 下面的代码哪些地方会产生编译错误?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html注意:Java中非静态内部类对象的创建要依赖其外部类对象,上面的面试题中foo和main方法都是静态方法,静态方法中没有this,也就是说没有所谓的外部类对象,因此无法创建内部类对象,如果要在静态方法中创建内部类对象,可以这样做:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/10130.html