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 ...
随机推荐
- 手写promise完成异常处理和状态只能够修改一次
8.处理 Promise 抛出的异常 <script src="./Promise.js"></script> <script type=" ...
- TortoiseGit 常见问题汇总
1.test分支修改后合并到master分支 1)切换本地分支到master分支 2)TortoiseGit ---> merge,选择远程分支test 提交到远程分支master 2.将远程 ...
- IdentityServer4 系列文章01---密码授权模式
IdentityServer4实现.Net Core API接口权限认证(快速入门) 什么是IdentityServer4 官方解释:IdentityServer4是基于ASP.NET Core实 ...
- 2.5 Windows驱动开发:DRIVER_OBJECT对象结构
在Windows内核中,每个设备驱动程序都需要一个DRIVER_OBJECT对象,该对象由系统创建并传递给驱动程序的DriverEntry函数.驱动程序使用此对象来注册与设备对象和其他系统对象的交互, ...
- nodejs连接mysql报错:throw err; // Rethrow non-MySQL errors TypeError: Cannot read property 'query' of undefined
该问题的解决方案如下: win+R 输入cmd mysql -u root -p 输入密码进入到mysql 3.执行sql语句,将密码改成123456(自己可以记住的密码即可) alter user ...
- centos7.9离线升级openssl和openssh9.2
前言 最近有几台服务器漏扫出了关于openssh的漏洞,升级完后顺便记录一下. 环境 CentOS Linux release 7.9.2009 (Core) 开始升级 准备工作 下载安装包: zli ...
- 4599元 铭凡推出NAG6迷你主机:12代i9+RX 6600M
铭凡推出了新款迷你主机NAG6,首发价4599元. 据了解,新款迷你主机的处理器采用的是i9-12900H,14核心20线程.24MBL3缓存,最高睿频达5.0GHz. 不仅如此,新款迷你主机内置RX ...
- 宝塔 websocket连接wss配置
https要使用wss连接,wss://xxxxx.com/wss 就转发到了 服务器内的127.0.0.1:2346服务. 具体转发可以放在 文件配置或者 伪静态里面 建议放在伪静态里面容易管理 n ...
- NC23619 小A的柱状图
题目 题目描述 柱状图是有一些宽度相等的矩形下端对齐以后横向排列的图形,但是小A的柱状图却不是一个规范的柱状图,它的每个矩形下端的宽度可以是不相同的一些整数,分别为 \(a[i]\) ,每个矩形的高度 ...
- NC51189 Mondriaan's Dream
题目链接 题目 题目描述 Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, a ...