Uses or overrides a depcrecated API

seppi65

Mitglied
Hallo zusammen,
bin gerade dabei ein Klasse zuschreiben und bekomme bei folgendem Code, vom Compiler die Meldung "Uses or overrides a depcrecated API"
Code:
public class Punkt implements Messobjekt {
    private double x,y,z; // Koordinaten

    private Punkt(double x, double y, double z){
    this.x = x;
    this.y = y;
    this.z = z;
    }

    public static Punkt zufallsPunkt(){
    return new Punkt(Math.random()*100, Math.random()*100, Math.random()*100);
    }
   

    public String toString(){
        double x = this.x;
        double y = this.y;
        double z = this.z;
        return "Punkt ("+x+"|"+y+"|"+z+")";
    }
   
    public Double abstand (Object obj){
        if (obj instanceof Punkt){
            Punkt p1 = (Punkt) obj;
            double x = Math.sqrt(Math.pow(this.x - p1.x,2)+Math.pow(this.y - p1.y,2) + Math.pow( this.z + p1.z,2));
            Double z = new Double(2.1);
            return Double.NaN;
        }else{
            return Double.NaN;
        }
           
    }
       

}
 

MoxxiManagarm

Top Contributor
Ich kann spontan nichts entdecken, was auf die Fehlermeldung schließen würde.
Aber es gibt andere Anmerkungen...

Java:
double x = this.x;
        double y = this.y;
        double z = this.z;
Wozu??

Java:
if (obj instanceof Punkt){
            //...
            return Double.NaN;
        }else{
            return Double.NaN;
        }
Wenn du immer Double.NaN returnst, was macht das für einen Sinn?

Wenn du für Messobjekt Generics einsetzt, dann kannst du dir das instanceof sparen.
Java:
// das interface
interface Messobjekt<T> {
    Double abstand(T other);
}

// die implementierende Klasse
public class Punkt
        implements Messobjekt<Punkt> {

// die Methode in Punkt
public Double abstand(Punkt p1) {
 

Ähnliche Java Themen

Neue Themen


Oben