equals
package abstractClasses; import java.time.LocalDate; /**
* Created by xkfx on 2016/12/20.
*/
public class Employee extends Person{
private String name;
private double salary;
private LocalDate hireDay; public Employee(String name, double salary, int year, int month, int day){
super(name);
this.salary = salary;
hireDay = LocalDate.of(year, month, day);
} public double getSalary(){
return salary;
} public LocalDate getHireDay(){
return hireDay;
} public String getDescription(){
return String.format("an employee with a salary of $%.2f", salary);
} public void raiseSalary(double byPercent){
double raise = salary * byPercent / 100;
salary += raise;
} public boolean equals(Object otherObject){
if(this == otherObject)
return true;
// 指向同一个对象就什么事情都没有了。
if(otherObject == null)
return false;
// 所比较对象指向null也不用比了。
if(this.getClass() != otherObject.getClass())
return false;
// 经以上比较可知,两个引用不指向同一个对象,并且两对象属于同类。
Employee other = (Employee)otherObject;
// 经过类型强制转化,才能能够访问otherObject对象具体类的实例域 // 测试实例域是否相同
return name.equals(other.name) && salary == other.salary && hireDay.equals(other.hireDay);
}
}
package abstractClasses; /**
* Created by xkfx on 2016/12/20.
*/
public class Manager extends Employee{
private double bonus; public Manager(String name){
super(name, 0, 2016, 10, 19);
} public boolean equals(Object otherObject){
// 比较父类实例域是否相等
if(!super.equals(otherObject))
return false;
// 比较子类实例域是否相等
Manager other = (Manager)otherObject;
return this.bonus == other.bonus;
}
}
equals的更多相关文章
- equals变量在前面或者在后面有什么区别吗?这是一个坑点
我就不废话那么多,直接上代码: package sf.com.mainTest; public class Test { public static void main(String[] args) ...
- How to implement equals() and hashCode() methods in Java[reproduced]
Part I:equals() (javadoc) must define an equivalence relation (it must be reflexive, symmetric, and ...
- 【特种兵系列】String中的==和equals()
1. 小样示例 public static void main(String[] args) { String a = "a" + "b" + 123; Str ...
- (转)浅谈Java中的equals和==
原文地址: http://www.cnblogs.com/dolphin0520/p/3592500.html 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new S ...
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- List<T>Find方法,FindAll方法,Contains方法,Equals方法
假如传入的T是一个类, List<MessageInfos> MessageInfos = new List<MessageInfos>(); MessageInfos= Me ...
- 让代码重构渐行渐远系列(3)——string.Equals取代直接比较与非比较
重构背景及原因 最近由于项目组的人员在不断扩充,导致项目中代码风格各异,大有百花齐放甚至怒放之势.考虑到团队的生存与发展,经过众人多次舌战之后,最终决定项目组根据业务分成几个小分队,以加强团队管理与提 ...
- [java] 更好的书写equals方法-汇率换算器的实现(4)
[java] 更好的书写equals方法-汇率换算器的实现(4) // */ // ]]> [java] 更好的书写equals方法-汇率换算器的实现(4) Table of Content ...
- Equals和ReferenceEquals
稍微分析下一下两个方法的区别: public static bool Equals(object objA, object objB); public static bool ReferenceEqu ...
- 【原创】Java和C#下String类型中的==和equals的原理与区别
一.Java下 1.几个例子 public static void main(String[] arge) { String str1 = new String("1234"); ...
随机推荐
- Kafka - protocol
http://kafka.apache.org/protocol 具体的协议看原文, Preliminaries Network Kafka uses a binary protocol ov ...
- tomcat session cluster
Session的生命周期 以前在学习的时候没怎么注意,今天又回过头来仔细研究研究了一下Session的生命周期. Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Sessi ...
- Nodejs开发(1.Sublime Text 3配置)
本例使用Sublime Text 3开发 原因: 1. 有开发提示: 2. 非常easy的调试运行: 下载Sublime Text 3,官网地址:http://www.sublimetext.com/ ...
- Mac更换Sublime Text程序图标
更换方法: 下载.icns格式一个图标.http://www.easyicon.net/language.en/iconsearch/sublime/ 终端执行:open /Applications/ ...
- ionic获取焦点
功能需求:点击按钮后获取input输入框的焦点 获取焦点用jq focus()不成功,因为angular也不推荐,所以网上找了一个在focus封装成指令的方法 指令写法: .directive('my ...
- zabbix的一些优化参数随笔
StartDBSyncers=12 如果proxy过多 可以适当加大这个参数 ProxyConfigFrequency=60ProxyDataFrequency=60 这两个参数很重要,一个是ser ...
- vim - Highlight unwanted spaces
http://vim.wikia.com/wiki/VimTip396 precondition: set hlsearch" Show all tabs:/\t" Show tr ...
- tcp_tw_recycle 的问题, 使用某一个wifi,APP老是连接不上网络
ss -tan 反映出来的情况就是在服务器上抓包,发现有SYN包,但服务器就是不回ACK包,因为SYN包已经被丢弃了.为了验证这一结果,可以执行netstat -s | grep timestamp ...
- electron开发(一)
0. 简介 http://electron.atom.io/ 官网 https://www.v2ex.com/t/277623 基于 Electron 的 Linux 下的网易云音乐 https: ...
- 一个简易的dota改键助手
那年,刚开始玩dota的时候, 发现物品栏的快捷键太不好按鸟(集中在小键盘的数字键).于是各种改键工具应运而生,像最经典的warkey, 不知不觉就用了好多年.如今,各种改键工具越来越强大了, 支持各 ...