如何正确定义和实例化内部类

时间:2017-01-27 10:18:35

标签: java

我已经定义了一个包含内部类定义的类,如下所示: -

.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();

3 个答案:

答案 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

您需要外部类引用来实例化内部类