Java 重写 equals + toString 练习
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 练习的更多相关文章
- Java:重写equals()和hashCode()
Java:重写equals()和hashCode() 1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instan ...
- java重写equals和hashCode方法
一.重写equals方法 如果不重写equals,那么比较的将是对象的引用是否指向同一块内存地址,重写之后目的是为了比较两个对象的value值是否相等. 利用equals比较八大包装对象(如int,f ...
- java重写equals方法
@Override public int hashCode() { return task.getId(); } @Override public boolean equals(Object obj) ...
- Java重写equals()和hashCode()
1.何时需要重写equals() 当一个类有自己特有的 ”逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用instanceof操作符检查 ”实参是否为正确的类型”. [2 ...
- JAVA 重写equals和重写hashCode
面试官可能会问你:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?” 首先你需要了解: hashCode()的作用是获取哈希码(散列码) 它实 ...
- java重写equals方法需要注意的几点
为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...
- Java重写equals方法(重点讲解)
为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象.这样我们往往 ...
- Java 重写 equals 与 hashCode 的注意事项
为什么重写 equals 的时候必须重写 hashCode 大家可能从很多教程中了解到: SUN官方的文档中规定"如果重定义equals方法,就必须重定义hashCode方法,以便用户可以将 ...
- hashCode之二--Java:重写equals()和hashCode()
以下内容总结自<Effective Java>. 1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). 2.设计equals() [1]使用in ...
- Java重写equals方法和hashCode方法
package com.ddy; public class User { private Integer id; private String name; private St ...
随机推荐
- ElementUI实现表格(table) 行上下移动的效果
参考地址 https://blog.csdn.net/sunshine0508/article/details/88390155 看大佬的地址 <div id="app"&g ...
- Go泛型简介
Go语言的泛型是在Go 1.18版本中引入的一个新特性,它允许开发者编写可以处理不同数据类型的代码,而无需为每种数据类型都编写重复的代码.以下是关于Go语言泛型的一些关键点: 泛型是通过在函数或类型定 ...
- ElasticSearch深度解析入门篇:高效搜索解决方案的介绍与实战案例讲解,带你避坑
ElasticSearch深度解析入门篇:高效搜索解决方案的介绍与实战案例讲解,带你避坑 1.Elasticsearch 产生背景 大规模数据如何检索 如:当系统数据量上了 10 亿.100 亿条的时 ...
- 7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动
在笔者上一篇文章<内核监视LoadImage映像回调>中LyShark简单介绍了如何通过PsSetLoadImageNotifyRoutine函数注册回调来监视驱动模块的加载,注意我这里用 ...
- ASP.NET Core必备知识之Autofac
使用Autofac替换掉微软的DI 本文的项目为ASP.NET Core3.1,传统三层架构 在这就不过多介绍Autofac,直接上代码 Autofac官网:https://autofac.org/ ...
- 并发编程-JUC的三个常用工具类
1.CountDownLatch:减法计数器 代码实例 public class CountDownLatchTest { public static void main(String[] args) ...
- MVC和WebAPI如何从Filter向Action中传递数据
http://www.itfanr.cc/2016/04/17/transfer-data-from-filter-to-action/ MVC和WebAPI如何从Filter向Action中传递数据 ...
- 一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)
最近做了几个 WPF + MudBlazor 的小东西,每次从头搭建环境比较繁琐,然鹅搭建过程还没啥技术含量,索性就直接做了个模板,方便以后使用. 1. 介绍 一个用来创建 .NET 8 + WPF ...
- 【动态内存】C语言动态内存使用常见错误及其避免方法(初学者避雷)
C语言动态内存使用常见错误及其避免方法(初学者动态内存避雷手册) 求个赞求个赞求个赞求个赞 谢谢 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种非常重要 ...
- idea 集成接口测试插件
idea api集成接口测试 日常逼逼叨 相信很多后端开发接口的小伙伴们在开发完成后也会进行简单的测试,可能会用到apifox,postman之类的测试工具,但是up近期发现了一个比较好用的idea插 ...