需要一个包含 < my reference > 的封闭实例

需要包含

下面是代码。positionObj是我正在尝试使用的对象,它给了我上面的错误。

原因不明。

package toolBox;
import toolBox.Secretary.positionObj;


public class PositionManagement {
public static HashMap<String, Secretary.positionObj> main(String vArg){
positionObj newPosition=new positionObj();
}
}
102887 次浏览

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.

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.

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