首页 > 解决方案 > 我需要为此使用实例变量吗?

问题描述

我目前正在做我的讲师提供的 Java 编码练习。但是,这有点令人困惑,我对我应该如何做感到困惑。

练习部分如下所示:
创建一个抽象类,Employee 类,基于以下规范:
- 一个私有实例变量“name”(一个字符串),用于存储员工的姓名;
- 一个构造函数,它采用要创建的员工的姓名;
- 一个公共方法,getName,它返回员工的姓名;
- 一个公共方法getWorkingHoursPerWeek,它返回员工每周的工作小时数(整数,默认40);
- 一个公共方法,getSalary,它返回员工的薪水(整数,默认为 11,000);
- 公共方法getVacationDays,返回员工休假天数(整数,默认10);
- 一个抽象的公共方法,jobDuty,它返回员工的工作职责(一个字符串);和
- 一个抽象的公共方法 jobTitle,它返回员工的职位(一个字符串)。

我应该为每周的工作时间创建一个实例变量吗?怎么有一种方法可以为不存在的东西返回值?我只是将其返回为 40,对于以后的子类,我是否更改了该值?

public abstract class Employee {
    private String name;

    public Employee(String name){
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public int getWorkingHoursPerWeek(){
        return 40;
    }

    public abstract String jobDuty(String duty);

    public abstract String jobTitle(String title);
}

标签: javaobject

解决方案


怎么有一种方法可以为不存在的东西返回值?块引用

您可以将默认值设置为私有变量(例如private final String workingHoursPerWeek),但这不是必需的,因为这些值只会用作默认返回值。

我只是将其返回为 40,对于以后的子类,我是否更改了该值?

是的,您可以覆盖 Java 中的方法,因此您将能够向继承自Employee.


推荐阅读