Bri*_*roh 3 java static-methods program-entry-point method-call
我应该做以下事情:
使用名为 generateEmployees() 的静态方法编写 Java 应用程序(客户端)程序,该方法返回 10 个不同类型的 Employee 对象的随机列表。您可以使用数组或 ArrayList 来存储将返回的员工对象。使用 for 循环用一些随机数据随机填充不同类型的员工对象。您可能会想到 1 – 4 之类的值范围。如果随机值为 1,则创建一个带有一些随机生成数据的 HourlyEmployee 对象,如果是 2,则创建带有一些随机数据的 SalariedEmployee 对象等等。我会把它留给你的聪明才智来生成和填充这些不同的 Employee 对象。在生成这些对象时,将它们添加到您的数据结构(您正在使用的数组或 ArrayList)中。最后,该方法返回此数据结构。
在同一个应用程序类中,实现 main() 方法。调用 generateEmployees( ) 静态方法并使用 for 循环在终端窗口上打印每个员工的详细信息以及他们的收入。
我的 generateEmployees() 静态方法如下(它可能不正确......此外,数据不是随机生成的,因为我不确定如何做到这一点,至少就名字和姓氏而言关心。):
public static Employee[] generateEmployees()
{
Employee[] employees = new Employee[10];
int randomNum = 0;
for (int i = 0; i < 10; i++)
{
Random random = new Random();
randomNum = random.nextInt(4) + 1;
switch (randomNum)
{
case 0:
employees[i] = new SalariedEmployee("Bri", "Gefroh", 123, 1000);
break;
case 1:
employees[i] = new HourlyEmployee("Bri", "Gefroh", 123, 12.50, 10);
break;
case 2:
employees[i] = new CommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05);
break;
case 3:
employees[i] = new BasePlusCommissionEmployee("Bri", "Gefroh", 123, 10000, 0.05, 2500);
break;
}
}
return employees;
}
Run Code Online (Sandbox Code Playgroud)
我将如何调用此方法并在 main() 方法中使用它?这四种类型的员工中的每一种都是 Employee 类的子类,每个子类都有自己的 toString() 方法,这就是我认为应该输出的方法。
小智 5
静态方法是类方法,而不是实例方法。它是在类上调用的,而不是类的实例。不同之处在于您可以在没有实例的情况下调用静态方法。
Employee.doSomething();
Run Code Online (Sandbox Code Playgroud)
对比
Employee employee = new Employee();
employee.doSomethingElse();
Run Code Online (Sandbox Code Playgroud)
因此,如果您的 generateEmployees() 方法与您的 main 方法在同一个类中,那么您只需要
generateEmployees();
Run Code Online (Sandbox Code Playgroud)
否则你需要做
Employee.generateEmployees();
Run Code Online (Sandbox Code Playgroud)
(如果 Employee 类包含 generateEmployees()
| 归档时间: |
|
| 查看次数: |
20567 次 |
| 最近记录: |