Quando NON metto static l'operazione che sto implementando vale solo per la classe stessa e non posso usarla altrove? ad esempio se ho
codice:
class Punto{
private x;
private y;
public Punto(double xx, double yy){
this.x=xx;
this.y=yy;
}
public void trasla(double dx, double dy){
this.x=this.x+dx;
this.y=this.y+dy;
}
}
non potrò mai fare una cosa del genere nel main
codice:
Punto.trasla(5,6);
mentre nel caso in cui ho sempre nella classe Punto
codice:
public static double distanza(Punto p1, Punto p2){
double qd; //quadrato distanza
qd=Math.sqrt(Math.pow(p1.getX()-p2.getX(),2)+Math.pow(p1.getY()-p2.getY(),2));
return qd;
}
posso invocare nel main il metodo distanza cosi
codice:
Punto a1,a2;
a1=new Punto(2,2);
a2=new Punto(1,1);
System.out.println(Punto.distanza(a1,a2));
scusate per la rottura di scatole ma sono un pò confuso e non riesco a risolvere questo dubbio