ola,
sou totalmente leigo em java… estou no 1º ano da faculdade e nao sei o q quer dizer o this. no java…
alguem poderia me passar o conceito disso??? ja q eu vi bastante isso em codigos fontees por ai…
desde ja obrigado…]
O this é uma referência do seu próprio objeto em questão.
Dependendo, vc não precisa colocá-lo.
É simples assim!
This … codigo esta auto explicativo …
public class exemplo1 {
...
public void faz_alguma_coisa () {
}
}
public class exemplo2 extends exemplo1 {
...
public void faz_alguma_coisa() {
}
public void teste() {
this.faz_alguma_coisa(); // chama o metodo da classe atual
super.faz_alguma_coisa(); // chama o metodo da classe pai
}
}
“Em um método, a palavra-chave this refere-se ao objeto sobre o qual o método opera…”
"Há um segundo significa para a palavra-chave this. Se a primeira linha de um construtor tiver a forma this (…), então o contrutor chama outro contrutor da mesma classe. Eis um exemplo básico:
class Customer
{ public Customer(String n)
{ this(n,Account.getNewNumber());
}
public Customer(String n , int a)
{ name = n;
accountNumber = a;
}
…
} "
Então esses exemplos foram tirados do livro Java Core 1 . Tipo tá bem fácil esses exemplos qualquer coisas é so postar ai de novo falow véio e até mais…
O this não é uma exclusividade de Java, outras linguagens orientadas à objetos também possuem ele, como C++.
Você não precisa colocar ele quando se está chamando atributos de uma classe quando está dentro dessa classe, mas geralmente o pessoal coloca pra dar uma enfatizada no código pra quem está lendo entenda melhor.
Lembrando que dentro da main não pode se usar this:
public static void man(String[] args){
this->algumaCoisa //Não pode!!!
}
[quote=pmarte]
Lembrando que dentro da main não pode se usar this:
public static void man(String[] args){
this->algumaCoisa //Não pode!!!
}[/quote]
Se isso funcionasse La se iam 30 anos de pesquisa e estudo sobre OO …
Faltou a explicação, o metodo main não pode referenciar valores dinamicos, para voce usar algum valor da classe que o main esta acoplado voce precisa declara-lo como static.
[code]
public class CertArray {
static int i;
int a;
public static void main(String[] args) {
System.out.println(i); // OK, pois esta requerendo valor de uma variavel statica
System.out.println(a); // erro pois esta requerendo valor de
}
}[/code]
Simplificando:
This faz referencia ao objeto corrente em que se esta manipulando algo como um metodo.
Para acessar uma variavel global com o mesmo nome de uma local, aí e q vc usa o this.
:roll:
[quote=tRuNkSnEt]Para acessar uma variavel global com o mesmo nome de uma local, aí e q vc usa o this.
:roll: [/quote]
Variável global, não. Atributos, métodos e construtores do objeto. :roll:
Bem de baixo nivel esses 2 ultimos comentarios !
É como se eu dissesse que polimorfismo é uma coisinha que faz chamar o metodo do tipo de classe adequada , sem dar uma explicão logica sobre o assunto.