Java上的方法和类

Java上的方法和类,java,class,Java,Class,我正在编写一个Java程序,其中包含一些类。我有一个类是Rectangle.java,另一个类是Circle.java。在Rectangle.java上,我正在做一个比较矩形和圆形面积的方法。它被称为公共布尔比较(圆C) 当我在Principal.java上调用该方法时,我声明rectangler=new Rectangle(),Circle C=new Circle(),然后声明R.compare(C) 我的问题是,在public boolean compare(Circle C)中,我是否需

我正在编写一个Java程序,其中包含一些类。我有一个类是
Rectangle.java
,另一个类是
Circle.java
。在
Rectangle.java
上,我正在做一个比较矩形和圆形面积的方法。它被称为
公共布尔比较(圆C)

当我在
Principal.java
上调用该方法时,我声明
rectangler=new Rectangle()
Circle C=new Circle()
,然后声明
R.compare(C)


我的问题是,在
public boolean compare(Circle C)
中,我是否需要调用另一个时间
rectangler=new Rectangle()
来比较
R.areaRectangle()
C.areaCircle()
,还是有其他方法来做这件事?

因为您正在调用
R.compare(C)
您不需要调用
rectangler=new Rectangle()
inside
compare
函数。只需使用您已有的R引用(它是
这个
关键字)

您似乎对java不熟悉,您只需要这个关键字

        this.areaRectangle();
为了更好的实践,您应该创建一个接口“HasArea”,该接口可以同时具有方法compare和calculateArea

      double calculateArea();
      boolean compare(HasArea obj);
这两个类都应该实现这个接口及其方法,所以在矩形类中

    class Rectangle implements HasArea{
       @Override
        public double calculateArea() {
         //your logic for area calculation
        }
      @Override
      public boolean compare(HasArea obj) {
         //Compare your this.calulateArea() with obj.calulateArea();  
     }
     }

你应该显示你的代码。显示你的代码(连续几行)。不,当你调用
R.compare(C)
时,你应该将调用
R
方法的
R
矩形区域与
C
圆形区域进行比较。要在
compare
方法中调用
areaRectangle
,只需使用
this.areaRectangle()
甚至
areaRectangle()
this.
将由编译器隐式添加)。