An enclosing instance that contains is required

前端 未结 3 1367
花落未央
花落未央 2020-11-30 04:47

An enclosing instance that contains is required

Below is the code. positionObj is the object that I am trying to use and i

相关标签:
3条回答
  • 2020-11-30 04:56

    The correct generic signature would be

    public static HashMap<String, positionObj> main(String vArg)
    

    you dont need to qualify positionObj since you already import it.

    However, I am pretty sure a main method must conform to the signature below. If you intend to have main be the main method for your program, change the signature to

     public static void main(String[] args) {...}
    

    you can create a separate static method that returns a Map and invoke it from main.

    As a note, all classes should begin with a capital letter, positionObj, should be PositionObj.

    0 讨论(0)
  • 2020-11-30 04:58

    First create an object of Outer class. In this case I think "Secretary". Then create positionObj. Like this,

    Secretary x = new Secretary();
    Secretary.positionObj y = x.new positionObj();
    
    0 讨论(0)
  • 2020-11-30 05:14

    You're trying to use the non-static inner positionObj class without an instance of Secretary for it to belong to.
    A non-static inner class must belong to an instance of its parent class

    You should probably change positionObj to a normal class or a static inner class.

    Alternatively, you can write someSecretary.new positionObj() to create an instance of the inner class that belongs to the someSecretary instance.

    0 讨论(0)
提交回复
热议问题