我需要帮助。我坚持这一点。对象创建主要不在其他类别执行
这是一流的餐厅。我想使用我的对象wtr1,wtr2,wtr3是服务员class.I发起他们在我的主。
public class restaurant extends player{
private final waiters wtr1 , wtr2 ,wtr3;
public restaurant(waiters wt1 ,waiters wt2 , waiters wt3)
{
super();
this.wtr1=wt1;
this.wtr2=wt2;
this.wtr3=wt3;
public float calculateSalary()
{
employee emp = new employee();
float wtrsal1 = 0;
float wtrsal2 = 0;
float wtrsal3 = 0;
float sal=0;
switch (wtr1.wExp)
{
case "low":
wtrsal1 = emp.salarywaiter[0];
break;
case "medium":
wtrsal1 = emp.salarywaiter[1];
break;
case "high":
wtrsal1 = emp.salarywaiter[2];
break;
}
switch (wtr2.wExp)
{
case "low":
wtrsal2 = emp.salarywaiter[0];
break;
case "medium":
wtrsal2 = emp.salarywaiter[1];
break;
case "high":
wtrsal2 = emp.salarywaiter[2];
break;
}
switch (wtr3.wExp)
{
case "low":
wtrsal3 = emp.salarywaiter[0];
break;
case "medium":
wtrsal3 = emp.salarywaiter[1];
break;
case "high":
wtrsal3 = emp.salarywaiter[2];
break;
}
sal = wtrsal1 + wtrsal2 + wtrsal3;
return sal;
}
这是我main.I不知道如果在参数休息应该是空的,但它是由default.Program犯规excecute设置,它给了我错误wt1.wExp是错误的,System.out.println(rest.calculateSalary());
是错的。
waiters wt1 = new waiters (19 , 0);
waiters wt2 = new waiters(20 , 0);
waiters wt3 = new waiters (21 , 0);
restaurant rest= new restaurant(null, null, null);
System.out.println(rest.calculateSalary());
这里的服务员类:
public class waiters extends employee {
String wname;
String wsurname;
String wExp;
public waiters(int i , int n)
{
wname = getname(i);
wsurname = getsurname(i);
wExp = ExpirienceLevel[n];
}
}
为什么你标记了这个多重继承?我在这个问题上看不到多重继承。另外,您应该查找Java命名约定,并更注重缩进/格式。您可以更轻松地阅读代码,更好 - 无论是为他人还是为您。如果您发布一个简短但完整的示例,而不是在这里和那里摘录,这也会有所帮助。 – 2014-11-04 18:08:57