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. 微信小程序-页面生命周期

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page-life-cycle.html

  2. 小白学k8s(10)-k8s中ConfigMap理解

    理解ConfigMap 什么是ConfigMap ConfigMap的创建 使用key-value 字符串创建 从env文件创建 从目录创建 通过Yaml/Json创建 ConfigMap使用 用作环 ...

  3. Prompt learning 教学[最终篇]:Chatgpt使用场景推荐、优秀学习资料推荐、AI工具推荐

    Prompt learning 教学[最终篇]:Chatgpt使用场景推荐.优秀学习资料推荐.AI工具推荐 1.chatgpt使用场景推荐 各位应该在各种平台看到不少可以尝试使用的场景,我这里仅收录: ...

  4. 8.3 NtGlobalFlag

    NtGlobalFlag 是一个Windows内核全局标记,在Windows调试方案中经常用到.这个标记定义了一组系统的调试参数,包括启用或禁用调试技术的开关.造成崩溃的错误代码和处理方式等等.通过改 ...

  5. SpringCloud-03-Nacos配置管理

    Nacos配置管理 原理图: 1.统一配置管理 ① 在Nacos中添加配置信息 ② 在弹出表单中填写配置信息 ③ 配置获取的步骤*(原理) ④ 引入Nacos的配置管理客户端依赖 <!--nac ...

  6. 普及100Hz高刷+1ms响应 微星发布27寸显示器:仅售799元

    不论办公还是游戏,高刷及低响应时间都很重要,微星现在推出了一款27寸显示器PRO MP273A,售价只有799元,但支持100Hz高刷.1ms响应时间,还有FreeSync技术减少撕裂. PRO MP ...

  7. P8659 [蓝桥杯 2017 国 A] 数组操作 题解

    题目链接:洛谷 或者 蓝桥杯 或者 C语言中文网 几个OJ的AC记录: 忘了哪个OJ的: 洛谷: C语言中文网: 蓝桥杯: emmmmmmm,好像每个OJ给的时限和空间还不一样,蓝桥杯官方还给了 $3 ...

  8. 2022 JuiceFS 社区用户调研结果出炉

    为了使 JuiceFS 的发展更贴合用户的真实需求,我们在三周前向社区发出了一份调研问卷.此次调研面向已经将 JuiceFS 应用于生产环境的用户,了解其在应用 JuiceFS 前和使用中的体验与评价 ...

  9. FireDac 连接 SQL SERVER 2014 - LocalDB

    易博龙官方的文档没有更新,官方的文档只能连接local-db2012 微软官方关于local-db 2012的描述 如下: 但是现在我开始使用SQL SERVER LOCAL-DB 2014了,因为今 ...

  10. .NET 云原生架构师训练营(模块二 基础巩固 MySQL环境准备)--学习笔记

    2.4.1 EF Core -- MySQL环境准备 安装 Docker 配置 docker 镜像仓库国内镜像地址 运行 mysql docker container 通过 Navicate 连接 安 ...