Java质疑这个和构造函数的参数

问题描述 投票:-1回答:1

我是Java的新手,现在阅读完全盾参考书第9版。

我写了下一个代码:

class Area {

    double Area (double x, double y){
        double z;
        this.z = 5; // Problem 1
        return z = x*y;
    };

}

class ThisIsSparta {


    public static void main (String args []){


        double x = 10;
        double y = 5;
        double z = 0;
        Area result = new Area (x,y); //Problem 2
        z = result.Area(x, y);
        System.out.println("Test " + z);
    }
}

问题1:我无法理解“这个”的目的,我认为它是对有呼叫类的对象的引用。所以在我看来我应该返回主要与z = 5.相反我得到一个错误(编译器不通过它)。

问题2:在一本书的例子中,在声明期间使用两个参数调用构造函数,但在我的情况下,编译器不允许这样做。是的,我可以在下一行做到,但我不明白出了什么问题。

java
1个回答
3
投票

问题1:this指的是当前对象。在你的情况下,它是Area的一个对象。

阅读更多:What is the meaning of "this" in Java?

问题2:您尚未定义任何带有两个参数的构造函数。 double Area (double x, double y)不是构造函数的正确签名,因为它包含返回类型为double

在这里阅读更多内容:Why do constructors not return values?

© www.soinside.com 2019 - 2024. All rights reserved.