【发布时间】:2014-11-04 18:00:40
【问题描述】:
我需要帮助。我坚持这个。
这是一流的餐厅。我想使用属于服务员类的对象 wtr1、wtr2、wtr3。我在我的 main 中启动了它们。
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;
}
这是我的主要内容。我不知道 rest 的参数是否应该为空,但它是默认设置的。程序不执行,它给我错误 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 命名约定并更加注意缩进/格式。您越容易阅读代码,对他人和您都越好。如果您发布一个简短但完整的示例,而不是在这里和那里发布sn-ps,这也会有所帮助。
标签: java class object multiple-inheritance