Los objetos tienen métodos y atributos (variables) que se derivan de las clases, con el fin de especificar qué métodos y variables pertenecen a un objeto particular se usa la palabra reservada this
.en el caso de las variables de instancia, es importante entender la diferencia entre los parámetros implícitos y explícitos. Eche un vistazo a la llamada fillTank
para el objeto audi
.
Car audi= new Car();
audi.fillTank(5); // 5 is the explicit parameter and the car object is the implicit parameter
El valor en el paréntesis es el parámetro implícito y el objeto en sí es el parámetro explícito, los métodos que no tienen parámetros explícitos, utilizan parámetros implícitos, el método fillTank
tiene tanto un explícito y un parámetro implícito.
permite echar un vistazo más de cerca el método fillTank
en la clase
public class Car()
{
private double tank;
public Car()
{
tank = 0;
}
public void fillTank(double gallons)
{
tank = tank + gallons;
}
}
Car
En esta clase tenemos una variable de instancia "tanque". Podría haber muchos objetos que usan la variable de instancia del tanque, para especificar que la variable de instancia "tanque" se usa para un objeto particular, en nuestro caso el objeto "audi" que construimos anteriormente, usamos la palabra reservada this
reservada. para variables de instancia el uso de 'esto' en un método indica que la variable de instancia, en nuestro caso "tanque", es una variable de instancia del parámetro implícito.
El compilador de Java agrega automáticamente la palabra reservada this
para que no tenga que agregarla, es una cuestión de preferencia. No puede usar this
sin un punto (.) Porque esas son las reglas de java (la sintaxis).
En resumen.
- objetos se definen por clases y tienen métodos y variables
- El uso de
this
en una instancia de variable en un métodoindica que, la variable de instancia pertenece al parámetro implícito, o que es una variable de instancia del parámetro implícito.
- El parámetro implícito es el objeto desde el que se llama al método en este caso "audi".
- El compilador Java añade automáticamente la palabra reservada, y agregó que es una cuestión de preferencia
this
no se pueden utilizar sin un punto (.) Esto es sintácticamente inválida this
también se puede utilizar para distinguir entre las variables locales y las variables globales que tienen el mismo nombre - la palabra de reserva
this
también se aplica a los métodos, para indicar que un método pertenece a un objeto en particular.
Para quienes responden: http://meta.stackexchange.com/questions/15775/do-you-delete-your-own-owner-when-its-a-duplicate – BalusC
Yakshemash! Tan amigos. También puede consultar mi pregunta aquí: https://stackoverflow.com/questions/23334336/this-in-java-exception-in-thread-main-java-lang-stackoverflowerror Chenqui. –