public MyLine(double x, double y)
{

   MyLine p1 = new MyLine();

   p1.x = x;

   p1.y = y;

}


那是我的代码

我得到的错误是

./MyLine.java:12: cannot find symbol

symbol  : constructor MyLine()

location: class MyLine

MyLine p1 = new MyLine();

最佳答案

这行:

MyLine p1 = new MyLine();


应该删除。那是在创建一个新实例,您实际上要使用正在创建的实例(因为您在构造函数中)。由于从不存在的这一行调用构造函数,您会收到错误消息,但您还是不想这样做。

您可以使用this关键字来引用当前实例(如果字段与参数具有相同的名称,则需要执行此操作,在这种情况下,看起来就像它们一样。)

因此,考虑到这一点,您将得到以下结果:

public MyLine(double x, double y) {
    this.x = x;
    this.y = y;
}

08-03 18:02