java基本工资计划
我是java新手,不断收到以下错误消息: 无法访问ManageAlary类型的封闭实例。必须使用类型为Managesalary的封闭实例(例如x.new A(),其中x是Managesalary的实例)限定分配。在线*java基本工资计划,java,Java,我是java新手,不断收到以下错误消息: 无法访问ManageAlary类型的封闭实例。必须使用类型为Managesalary的封闭实例(例如x.new A(),其中x是Managesalary的实例)限定分配。在线* 内部类需要对外部类的现有引用。如果没有Managesalary的实例,则无法实例化Salary。您可以通过执行以下操作来实现此目的: Managesalary mSalary = new Managesalary(); Salary Jan= mSalary.new Salary
内部类需要对外部类的现有引用。如果没有
Managesalary
的实例,则无法实例化Salary
。您可以通过执行以下操作来实现此目的:
Managesalary mSalary = new Managesalary();
Salary Jan= mSalary.new Salary();
错误是您必须通过引用封闭类的实例来创建内部类
ManageSalary mn = new Managesalary()
Salary salary = mn.new Salary();
您已经将
Salary
类定义为Managesalary
的内部类(尽管您的代码缩进隐藏了一点)
因此,Salary
的每个实例必须绑定到Managesalary
的一个实例
在
main
方法中,创建Managesalary
(例如Managesalary ms=new Managesalary()
)的实例,并将内部类对象初始化为ms.new Salary()
或者将类Salary复制到单独的文件名Salary.java中并将其公开,把它放在你的主类之外,最好放在它上面,或者声明它是静态的。将你的薪资类设置为静态的
static class Salary{
// rest of the code
}
可能重复的
static class Salary{
// rest of the code
}