包含<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(); } }
你正试图使用非静态的内部positionObj
类,而没有一个Secretary
实例属于。
一个非静态的内部类必须属于它的父类的一个实例
你可能应该把positionObj
改成一个普通的类或静态的内部类。
或者,你可以写一些someSecretary.new positionObj()
来创build一个属于someSecretary
实例的内部类的实例。
正确的通用签名将是
public static HashMap<String, positionObj> main(String vArg)
你不需要限定positionObj,因为你已经导入了它。
但是,我很确定一个主要的方法必须符合下面的签名。 如果你打算主要是你的程序的主要方法,更改签名
public static void main(String[] args) {...}
你可以创build一个单独的静态方法,返回一个Map并从main中调用它。
注意,所有的类都应该以大写字母positionObj开头,应该是PositionObj。
首先创build一个Outer类的对象。 在这种情况下,我认为“秘书”。 然后创buildpositionObj。 喜欢这个,
Secretary x = new Secretary(); Secretary.positionObj y = x.new positionObj();