Avoir 2 variables avec le même nom dans une classe qui étend une autre classe en Java

Qui suit est une partie de mon code pour un projet:

public class Body extends Point{
    public double x, y, mass;

    public Body() {
        x = y = mass = 0;
    }

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

public class Point {
    public double x;
    public double y;

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

Je me suis vite rendu compte que ceci vous permettra de créer deux variables à l'intérieur du Corps de classe appelé x et deux autres variables dans le Corps appelé y. Comment est-ce même possible, et pourquoi sur la terre, n'est Java, même le permet-il?

Je suppose que c'est le bon code de classe Corps:

public class Body extends Point{
    public double mass;

    public Body() {
        super();
        mass = 0;
    }

    public Body(double x, double y, double mass) {
        super(x,y);
        this.mass = mass;
    }
}

Merci pour votre temps

source d'informationauteur Martin Andersson