java - 我需要为此使用实例变量吗?
问题描述
我目前正在做我的讲师提供的 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);
}
解决方案
怎么有一种方法可以为不存在的东西返回值?块引用
您可以将默认值设置为私有变量(例如private final String workingHoursPerWeek
),但这不是必需的,因为这些值只会用作默认返回值。
我只是将其返回为 40,对于以后的子类,我是否更改了该值?
是的,您可以覆盖 Java 中的方法,因此您将能够向继承自Employee
.
推荐阅读
- javascript - 为什么我得到未定义的变量?
- c# - 提交表单后 ASP.net MVC ViewModel 属性为空
- javascript - 如何使用javascript动态获取选中复选框的值
- c# - X509Certificate2UI.SelectFromCollection 正在关闭应用程序
- angular - Angular 7 类继承和 httpClient
- svn - Ansible SVN 结帐中的“无法在路径中找到所需的可执行 svn”错误
- html - 为什么 href="/../subpage/doc.html" 有效?
- r - 仅在满足条件时才起作用的默认参数
- google-cloud-platform - GCloud Storage:如何授予在控制台中查看存储桶的权限,但只能查看单个存储桶中的文件?
- drupal - Drupal 8 - 禁用结构视图