我已经定义了一个包含内部类定义的类,如下所示: -
.gallary{
width:100%;
display: flex;
}
.pic {
flex: 1;
}
.pic img {
width: 100%;
}
然而,当我编译我的代码时,我确实从编译器中获得了此行的错误:
public class A{
public class B{
}
}
我做错了什么?
A.B innerObj=outerObj.new A.B();
答案 0 :(得分:5)
创建成员内部类实例的一般语法如下: -
OuterClassReference.new MemberInnerClassConstructor();
new运算符已经使用封闭的实例引用进行限定(如outerObj.new), java编译器会自动计算出封闭类名的完全限定名。
您的代码更改应为: -
A.B innerObj=outerObj.new B();
答案 1 :(得分:1)
这是另一种创建内部类实例的方法,
// Instantiating the outer class
A outer = new A();
// Instantiating the inner class
A.B inner = outer.new B();
希望这会有所帮助
答案 2 :(得分:0)
public class OuterClass {
class innerClass{
void show(){
System.out.println("this is a inner class");
}
}
public static void main(String[] args) {
OuterClass oc=new OuterClass();
OuterClass.innerClass ic=oc.new innerClass();
ic.show();
} }
//Output: this is a inner Class
您需要外部类引用来实例化内部类