找不到方法的java实例
我对java instanceof有一个问题。我有一个名为Employee的类和其他几个扩展这个类的类,例如-Manager。我还创建了另一个类EmployeeStockPlan,我想在其中测试instanceof是否正在查找我正在使用的对象。但是当我从新类调用一个方法时,我有一个错误:类型找不到方法的java实例,java,instanceof,Java,Instanceof,我对java instanceof有一个问题。我有一个名为Employee的类和其他几个扩展这个类的类,例如-Manager。我还创建了另一个类EmployeeStockPlan,我想在其中测试instanceof是否正在查找我正在使用的对象。但是当我从新类调用一个方法时,我有一个错误:类型加载程序的方法grantStock(Manager)未定义。对不起,我对java有些陌生,我希望我不是在问愚蠢的问题 雇员类别: package com.example.domain; public cla
加载程序的方法grantStock(Manager)
未定义。对不起,我对java有些陌生,我希望我不是在问愚蠢的问题
雇员类别:
package com.example.domain;
public class Employee {
private int empId;
private String name;
private String ssn;
private double salary;
public Employee(int empId, String name, String ssn, double salary) { // constructor
// method;
this.empId = empId;
this.name = name;
this.ssn = ssn;
this.salary = salary;
}
public void setName(String newName) {
if (newName != null) {
this.name = newName;
}
}
public void raiseSalary(double increase) {
this.salary += increase;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public String getDetails() {
return "Employee id: " + empId + "\n" + "Employee name: " + name;
}
}
经理类:
package com.example.domain;
public class Manager extends Employee {
private String deptName;
public Manager(int empId, String name, String ssn, double salary, String dept) {
super(empId, name, ssn, salary);
this.deptName = dept;
}
public String getDeptName() {
return deptName;
}
public String getDetails() {
return super.getDetails() + "\n" +
"Department: " + deptName;
}
}
EmployeeStockPlan类:
package com.example.domain;
public class EmployeeStockPlan {
public void grantStock(Employee e) {
// nothing calculated, just simulating;
System.out.println("This is an employee!");
if (e instanceof Manager) {
// process Manager stock grant
System.out.println("This is a manager!");
} else {
// error - instance of Engineer?
System.out.println("Not an engineer!");
}
return;
}
}
主要类别:
EmployeeStockPlan esp = new EmployeeStockPlan();
Manager m = new Manager (12421, "Manager1", "111-4254-521", 2430, "Marketing1");
grantStock(m);
您必须在EmployeeStockPlan
对象上调用grantStock()
方法,否则Java将在没有该方法的主类中查找它
esp.grantStock(m);
您必须在EmployeeStockPlan
对象上调用grantStock()
方法,否则Java将在没有该方法的主类中查找它
esp.grantStock(m);
这应该是esp.grantStock(m)代码>“instanceof”未“查找方法”。你在某个地方有一个基本的误解,那应该是esp.grantStock(m)代码>“instanceof”未“查找方法”。你在某个地方有一个基本的误解。被我复制,你更快:)+1then@X-皮普斯:这不是你答案的翻版。你的错误声明他需要创建一个他已经实例化的类的实例。就是这样,非常感谢你,Jesper!我复制了一个,你更快:)+1then@X-皮普斯:这不是你答案的翻版。你的错误声明他需要创建一个他已经实例化的类的实例。就是这样,非常感谢你,Jesper!