Foros del Web » Programación para mayores de 30 ;) » Java »

error java orientado a objeto con static

Estas en el tema de error java orientado a objeto con static en el foro de Java en Foros del Web. Resulta que estoy creando una clase y me da erros cuando hago unos metodos de tipo static. os pongo codigo porque estoy cansado de mirar ...
  #1 (permalink)  
Antiguo 16/03/2015, 05:47
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
error java orientado a objeto con static

Resulta que estoy creando una clase y me da erros cuando hago unos metodos de tipo static.

os pongo codigo porque estoy cansado de mirar y no encientro en ningún manual ayuda(por que seguramente no lo entiendo) si hicieses el favor de ayudarme lo agradecería muchísimo gracias.

Código Java:
Ver original
  1. public class Vehiculo {
  2.  private  String marca;
  3.  private  double peso;
  4.  private  String color;
  5.  private  static int contadorDeVehiculos = 0;
  6.  private static double kilometrosRecorridos  = 0;
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.     //constructor
  15.   public Vehiculo(double p, String c, String m ) {
  16.     this.contadorDeVehiculos++;
  17.     this.peso = p;
  18.     this.color = c;
  19.     this.marca = m;
  20.  
  21.   }
  22.  
  23.     //metodo que muestra devuelve vehiculos creados
  24.     public static  int  setContadorDeVehiculos(){
  25.       return  this.contadorDeVehiculos;
  26.    //linea del error
  27.   }
  28.  
  29.     //metodo que muestra devuelve los kilométros recorridos
  30.     // de todos los vehículos
  31.   public static  double  setContadorDeKilometros(){
  32.     return  this.kilometrosRecorridos;
  33.    //linea del error
  34.   }
me da el mismo error a la lineas señalada
Vehiculo.java:61: error: non-static variable this cannot be referenced from a static context
  #2 (permalink)  
Antiguo 16/03/2015, 06:17
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: error java orientado a objeto con static

Static es un atributo o método común para toda la clase, mientras que this hace referencia al objeto actual.

public static double setContadorDeKilometros(){
return this.kilometrosRecorridos;
//linea del error
}

Si tú estás llamando a un método común (static) para todos los objetos vehículo, es imposible que ese método sepa quién es this. Las variables y métodos static se invocan con el nombre de la clase o sin nada, pero nunca con this en un método static.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 16/03/2015, 06:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: error java orientado a objeto con static

Gracias amigo, gran ayuda la tuya.

Etiquetas: clase, objeto, orientado, static, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:58.