equals方法

1、比较的是对象引用的是否指向同一块内存地址

    public static void main(String[] args) {
HuaWei huawei=new HuaWei();
huawei.cpu=1;
HuaWei huawei1=new HuaWei();
huawei.cpu=1;
if(huawei.equals(huawei1)){
System.out.println("两个对象是相同的!");
}else{
System.out.println("两个对象是不相同的!");
}
}

结果:

两个对象是不相同的!

2、作用是比较两者的区别,作用类似于“==”,默认情况下equals比较的是内存地址,而在一般情况我们需要比较的是两个对象的值是否一致,那么如何解决这个问题:当父类方法无法满足我们的需要时,此时就需要重写这个方法。

    public boolean equals(Object obj) {
if (this == obj) //判断两个引用的地址是否相同
return true;
if (obj == null) //判断另外一个对象是否是空值
return false;
if (getClass() != obj.getClass())//getClass()是类对象,
return false;
HuaWei other = (HuaWei) obj;
if (cpu != other.cpu) //两个对象的属性值是否不相同
return false;
if (screen != other.screen)
return false;
if (width != other.width)
return false;
return true;
}

Object类--equals方法的更多相关文章

  1. Object类的方法

    一 Object:类Object是类层次结构的跟类,每个类都使用Object作为超类,每个类都是直接或者间接的继承自Object类. Object类的方法: ①public int hashCode( ...

  2. Java温故而知新(7)Object类及其方法讲解

    一.java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. Object类 ...

  3. 面向对象编程(四)继承,概念及super关键字,final关键字,Object类常见方法

    继承 概念: ①   继承背后的思想就是基于已存在的类来构建新类; ②   当从已存在类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求; ③   当从其它类导出的类叫作子 ...

  4. Java:面向对象(继承,方法的重写(overide),super,object类及object类中方法的重写,父子类代码块执行顺序)

    继承: 1.继承是对某一匹类的抽象,从而实现对现实世界更好的建模. 2.提高代码的复用性. 3.extends(扩展),子类是父类的扩展. 4.子类继承父类可以得到父类的全部属性和方法.(除了父类的构 ...

  5. Object类clone方法的自我理解

    网上搜帖: clone()是java.lang.Object类的protected方法,实现clone方法: 1)类自身需要实现Cloneable接口 2)需重写clone()方法,最好设置修饰符mo ...

  6. 对Object类中方法的深入理解

    看一下API中关于Object的介绍: 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法. 那么Object中到底有哪些方法,各自有什 ...

  7. 基础学习day08---多态、简单工厂、Object类equals和toString

    一.多态 1.1.多态概念  定义:某一类事物的多种存在形态.        例:动物中猫,狗.    猫这个对象对应的类型是猫类型:猫 x = new 猫();    同时猫也是动物中的一种,也可以 ...

  8. Java基础(43):Java中的Object类与其方法(转)

    Object类 java.lang.Object java.lang包在使用的时候无需显示导入,编译时由编译器自动导入. Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类. O ...

  9. 接口、抽象类、方法复写、类Equals方法重写

    接口: /* * Java接口中的數據成員必須初始化,該成員有隱藏的final.satic.常量, * 一次賦值后不可在賦值 * 成員方法訪問修飾符必須是公共修飾符,可以顯示聲明也可以不聲明 * 成員 ...

随机推荐

  1. saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy

    saltstack自动化运维系列⑥SaltStack实践安装配置HAproxy 下载haproxy1.6.2.tar.gz下载地址:http://www.haproxy.org/download/1. ...

  2. javascript判断是用什么设备打开

    var userAgentInfo = navigator.userAgent //查看浏览器用于 HTTP 请求的用户代理头的值 var agents = ["Android", ...

  3. Idea xml 粘贴文本保持原有格式

    setting->Editor->Code Style->XML 在右边的面板中,单击第二个 “Other” 的页签,勾选“Keep white spaces”,重启idea.

  4. python + slenium自动化测试设置元素等待

    WebDriver 提供了两种类型的等待:显式等待和隐式等待. 显式等待 显式等待使 WebdDriver 等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常 (TimeoutExcepti ...

  5. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

  6. whiledo循环输出数组中的分数

    var scores = [24, 32, 17]; var arrayLength = scores.length; var i =0; while(i < arrayLength){ var ...

  7. [转] HTML5 FormData 方法介绍以及实现文件上传

    XMLHttpRequest 是一个浏览器接口,通过它,我们可以使得 Javascript 进行 HTTP (S) 通信.XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式. ...

  8. <noip2017>列队

    题解: 考场实际得分:45 重新看了一下,发现至少80分是很好拿的 对于前30% 暴力 另20% 显然离线搞一下就可以了(大概当初连离线是啥都不知道) 另另30%其实只要维护第一行和最后一列就可以了, ...

  9. [解决]IP地址非法,请接入联通热点后重新获取

    在使用联通chinaunicom WLAN上网时,在弹出的登陆界面后输入账号.密码,点登陆,显示IP地址非法,请接入联通热点后重新获取.现在在其他地方看到解决办法连接chinaunicom,弹出登陆界 ...

  10. 8.Django-form组件

    1.form组件的校验功能 文件formsdemo models from django.db import models # Create your models here. class UserI ...