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. 【VictoriaMetrics源码阅读】vm中仿照RoaringBitmap的实现:uint64set

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu 公众号:一本正经的瞎扯 正文 VictoriaMetrics中使用uint64类型来表示一个Me ...

  2. 在K8S中,静态、动态、自主式Pod有何区别?

    在Kubernetes(简称K8s)中,静态Pod.自主式Pod和动态Pod是不同管理方式下的Pod类型,它们的区别主要体现在创建和管理方式上: 静态Pod: 静态Pod是由kubelet直接管理的, ...

  3. MySQL 常见面试题/知识点总结!(2021 最新版)| JavaGuide

    相关阅读: 2.7w字!Java基础面试题/知识点总结!(2021 最新版) 这篇文章之前发过,不过,我最近对其进行了重构完善并且修复了很多小问题.所以,在公号再同步一下! 内容很硬!强烈建议小伙伴们 ...

  4. PE格式:新建节并插入代码

    经过了前一章的学习相信你已经能够独立完成FOA与VA之间的互转了,接下来我们将实现在程序中插入新节区,并向新节区内插入一段能够反向连接的ShellCode代码,并保证插入后门的程序依旧能够正常运行不被 ...

  5. easyexcel只通过表名来动态查询并动态导出数据

    EasyExcel动态表头即动态数据生成 1️⃣ 业务需求 需要将数据库中的所有表放在一个下拉框中,下拉框支持模糊查询到相关的表,然后通过这个表名查询到数据库的数据,切换不同的表查询出来相关表的列和数 ...

  6. 自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人

    如今,大模型层出不穷,这为自然语言处理.计算机视觉.语音识别和其他领域的人工智能任务带来了重大的突破和进展.大模型通常指那些参数量庞大.层数深.拥有巨大的计算能力和数据训练集的模型. 但不能不承认的是 ...

  7. ResponseUtil jackson 转换问题;返回结果与 Bean 之间的转换,推荐使用convertValue

    /** * 若成功往往有data数据 * 示例: * UserBase userBase = new UserBase(); * userBase.setUserName("李昱鑫" ...

  8. dbgrideh 下拉显示多列

  9. HBase Shell将命令执行结果导出到文件

    1.将Hbase shell执行结果输出到文件 echo "scan 'test'" | hbase shell>my.txt 2.查看表的region数 list_regi ...

  10. Pandas数据合并

    目录 1) 在单个键上进行合并操作 2) 在多个键上进行合并操作 使用how参数合并 1) left join 2) right join 3) outer join(并集) 4) inner joi ...