为何此处会出现找不到symbol的错误呢?

使用this不是引用创建的对象么?


import java.util.Comparator;

import java.lang.Comparable;


public class Point implements Comparable<Point> {

    int x, y;

    public final Comparator<Point> SLOPE_ORDER = new ByOrder();


    private class ByOrder implements Comparator<Point> {

        public int compare(Point one, Point two) {

            return this.slopeTo(one) < this.slopeTo(two) ? -1: 

                   this.slopeTo(one) > this.slopeTo(two) ? 1:0;

        }

    }


    public Point(int x, int y) {

        this.x = x;

        this.y = y;

    }


    public void draw() {

        StdDraw.circle(x, y, 00);

    }


    public void drawTo(Point that) {

        StdDraw.line(this.x, this.y, that.x, that.y);

    }


    public String toString() {

        String point_string = '(' + String.valueOf(x) + ',' + 

                                    String.valueOf(y) + ')';

        return point_string;

    }


    public int compareTo(Point that) {

        return ((this.y < that.y) || (this.y == that.y && this.x < that.x)) ? -1:

                (this.y > that.y) ? 1:0;


    }

    public double slopeTo(Point that) {

        double slope = (that.y - this.y) / (that.x - this.x);

        return slope;

    }


}

Point.java:10: error: cannot find symbol return this.slopeTo(one) <

this.slopeTo(two) ? -1:

^ symbol: method slopeTo(Point)


扬帆大鱼
浏览 509回答 1
1回答

海绵宝宝撒

你的&nbsp;this&nbsp;是&nbsp;ByOrder&nbsp;对象,而&nbsp;ByOrder&nbsp;不在&nbsp;Point&nbsp;的继承树上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java