Java关于Object类中equal方法的理解
2021-02-20 00:22
标签:font span 关于 object static main 引用 ret equals 话不多说,先上例题 答案:true 答案:false 看到这里,小朋友,你是否有很多问好? 当然,别慌,看我下面的讲述: (你先要明白,父类不能直接调用子类的方法的!当然强制暴力转换另说) 首先,你看这个代码,Object circle1 = new Circle(); 这说明circle1声明为Object型引用变量,所以是Circle的父类变量, 所以在第七行调用的时候调用的是Object类的equal!!! 所以circle1 和 circle2 当然是俩个不同的引用类型变量,所以返回值当然是false了! 还有,你要明白,第一个代码中的equal只是对父类Object类中equal方法的重载!!!并不是重写,而第二个代码才是重写!!!到这里,你是不是就豁然开朗了呢? 如果还不明白,欢迎私信博主,或在评论区留言! Java关于Object类中equal方法的理解 标签:font span 关于 object static main 引用 ret equals 原文地址:https://www.cnblogs.com/mr-wei977955490/p/12683350.html 1 package Ch_11;
2
3 public class Test {
4 public static void main(String[] args) {
5 Object circle1 = new Circle();
6 Object circle2 = new Circle();
7 System.out.println(circle1.equals(circle2));
8 }
9 }
10
11 class Circle {
12 double radius;
13
14 public boolean equals(Object circle) {
15 return this.radius == ((Circle)circle).radius;
16 }
17 }
1 package Ch_11;
2
3 public class Test {
4 public static void main(String[] args) {
5 Object circle1 = new Circle();
6 Object circle2 = new Circle();
7 System.out.println(circle1.equals(circle2));
8 }
9 }
10
11 class Circle {
12 double radius;
13
14 public boolean equals(Circle circle) {
15 return this.radius == circle.radius;
16 }
17 }
文章标题:Java关于Object类中equal方法的理解
文章链接:http://soscw.com/index.php/essay/57767.html