作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用构造函数salary()初始化一个新对象-Salary。然而,有一个参数附加到它作为“薪水”。
class Salary{
public Salary(String name, long salary){
this.name = name;
setSalary(salary);
}
public void setSalary(long salary){
this.salary = salary;
}
private long salary;
}
当基于此类创建新对象工资时,“工资”的初始金额(基于构造函数)是它可以拥有的最高工资金额。显然,我可以使用其他方法,例如increaseSalary()来增加工资。或者此类中的方法decreaseSalary()来操纵该值。但是,“薪水”的最高值永远不会高于我创建它时传递给它的值。如何实现这个方法呢?
最佳答案
这个怎么样?在构造函数中:
setSalary(Long.MAX_VALUE); // here we ignore the `salary` parameter
或者等效地,在属性声明中(但您必须从构造函数中删除 setSalary()
调用):
private long salary = Long.MAX_VALUE;
请注意,您可以稍后更改薪水,上述任何选项都会保留默认值以及long
允许的最大值,但您可以稍后针对特定实例更改它,只需调用setSalary()
。
关于java - 如何在java中使用构造函数定义最高值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22568247/
我是一名优秀的程序员,十分优秀!