1 package com.bytezreo.objectclass2;
2
3 /**
4 *
5 * @Description 重写 equals + toString
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 2021年9月24日下午3:09:52
9 * @
10 *
11 */
12 public class CircleTest {
13 public static void main(String[] args) {
14
15 Circle circle1 = new Circle(2.3);
16 Circle circle2 = new Circle(2.31,"while",2.0);
17
18
19 System.out.println("颜色是否相等:"+circle1.getColor().equals(circle2.getColor()));
20
21 System.out.println("半径是否相等:"+circle1.equals(circle2));
22
23 System.out.println(circle1);
24 System.out.println(circle2.toString());
25
26 }
27
28 }
 1 package com.bytezreo.objectclass2;
2
3
4
5 public class Circle extends GeometricObject {
6
7 private double radius;
8
9 public Circle()
10 {
11 super();
12 radius = 1.0;
13
14 // color = "while";
15 // weight = 1.0;
16
17 }
18
19 public Circle(double radius) {
20 super();
21 this.radius = radius;
22 }
23
24
25 public Circle(double radius,String color,double weight) {
26 super(color,weight);
27 this.radius = radius;
28 }
29
30 public double getRadius() {
31 return radius;
32 }
33
34 public void setRadius(double radius) {
35 this.radius = radius;
36 }
37
38 //求圆的面积
39 public double findAre() {
40 return 3.14* radius *radius;
41 }
42
43 //比较半径是否相等
44 @Override
45 public boolean equals(Object obj) {
46
47 if(this == obj) {
48 return true;
49 }
50
51 if(obj instanceof Circle) {
52 Circle c1 = (Circle)obj;
53 return this.radius == c1.getRadius();
54 }
55
56 return false;
57
58 }
59
60 @Override
61 public String toString() {
62 return "Cirlcle [radius=" + radius + "]";
63 }
64
65
66
67 }
 1 package com.bytezreo.objectclass2;
2
3 public class GeometricObject {
4
5
6 protected String color;
7 protected double weight;
8
9
10
11 public GeometricObject() {
12 super();
13 this.color = "while";
14 this.weight = 1.0;
15 }
16
17
18
19 public GeometricObject(String color, double weight) {
20 super();
21 this.color = color;
22 this.weight = weight;
23 }
24
25
26
27 public String getColor() {
28 return color;
29 }
30
31
32
33 public void setColor(String color) {
34 this.color = color;
35 }
36
37
38
39 public double getWeight() {
40 return weight;
41 }
42
43
44
45 public void setWeight(double weight) {
46 this.weight = weight;
47 }
48
49
50
51
52 }

Java 重写 equals + toString 练习的更多相关文章

  1. Java:重写equals()和hashCode()

    Java:重写equals()和hashCode() 1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instan ...

  2. java重写equals和hashCode方法

    一.重写equals方法 如果不重写equals,那么比较的将是对象的引用是否指向同一块内存地址,重写之后目的是为了比较两个对象的value值是否相等. 利用equals比较八大包装对象(如int,f ...

  3. java重写equals方法

    @Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...

  4. Java重写equals()和hashCode()

    1.何时需要重写equals() 当一个类有自己特有的 ”逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instanceof操作符检查 ”实参是否为正确的类型”. [2 ...

  5. JAVA 重写equals和重写hashCode

    面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” 首先你需要了解: hashCode()的作用是获取哈希码(散列码) 它实 ...

  6. java重写equals方法需要注意的几点

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  7. Java重写equals方法(重点讲解)

    为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...

  8. Java 重写 equals 与 hashCode 的注意事项

    为什么重写 equals 的时候必须重写 hashCode 大家可能从很多教程中了解到: SUN官方的文档中规定"如果重定义equals方法,就必须重定义hashCode方法,以便用户可以将 ...

  9. hashCode之二--Java:重写equals()和hashCode()

    以下内容总结自<Effective Java>. 1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用in ...

  10. Java重写equals方法和hashCode方法

    package com.ddy; public class User {     private Integer id;     private String name;     private St ...

随机推荐

  1. 【JS 逆向百例】医保局 SM2+SM4 国产加密算法实战

    关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途 ...

  2. Flask的cookie、session

    目录 七.设置cookies 7.1 设置cookie的参数 7.2 查询cookie 八.flask的session 实现session的两种思路 8.1 设置session(使用版) 8.2 设置 ...

  3. 在K8S中,Pod亲和性概念是什么?

    在Kubernetes(简称K8S)中,Pod亲和性和反亲和性(Affinity and Anti-Affinity)是集群调度策略的重要组成部分,它们用于控制Pod如何与节点或其他Pod相对应地放置 ...

  4. Windows系统phpstudy+PbootCMS搭建网站记录

    环境 Windows 10 phpstudy v8.1           下载地址:https://www.xp.cn/download.html PbootCMS v3.2.4  下载地址:htt ...

  5. Git企业开发控制理论和实操-从入门到深入(一)|为什么需要Git|Git的安装

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  6. 解决docker push镜像到私有仓库时的报错【http: server gave HTTP response to HTTPS client】

    一:解决docker push镜像到私有仓库时的报错[http: server gave HTTP response to HTTPS client]

  7. TfrxReport.Clear。尽量慎用。

    for MyXuHaoKey in MyXuHaoJianRongSanJieKouDataDicApi.KeySortList do begin //标记下打印编号,吸入淘打的客户 MyTradeA ...

  8. delphi 异常测试(我自己捕捉)

    由于最近的短信模块老是报SocketErorr错误,有的时候也不确定是哪里有问题,影响短信的销售,所以这里这样写,把出现的异常捕捉到显示出来.然后跳过这个不发送 ------------------- ...

  9. .NET 云原生架构师训练营(模块二 基础巩固 引入)--学习笔记

    2.1 引入 http协议 web server && web application framework .net 与 .net core asp .net core web api ...

  10. 【译】使用.NET将WebAssembly扩展到云(一)

    原文 | Richard Lander 翻译 | 郑子铭 WebAssembly(Wasm)是一种令人兴奋的新虚拟机和(汇编)指令格式. Wasm 诞生于浏览器,是 Blazor 项目的重要组成部分. ...