// Declaração de variavel minhaConta do tipo Conta (ainda não existe um objeto)
Conta minhaConta
// instancia o objeto minhaConta (cria o objeto)
// sempre depois do new vem o construtor da classe
// toda classe tem um construtor, se vc não colocar um o compilador põe um sem argumentos
minhaConta = new Conta();
O comando this refere-se sempre ao objeto que está em uso no momento
exemplo
[code]
// quando eu uso this.text é o mesmo que
// MyThis m = new MyThis();
// m.text = “texto”;
public class MyThis {
String text;
public void changeThis(String s){
this.text = s;
}
opa valeu por responder camarada,
sobre a declaracao de variavel de objeto eu ate peguei, mas o this ainda estou meio que com duvidas.
vou ver se releio varias vezes ate entender
ou se alguem puder tentar me explicar de outra forma tambem to aceitando
Voce pode sempre declarar o objeto antes de usa-lo
[code]//declarando o objeto, sempre que declarar informe um valor para que este objeto possa ser utilizado
Pessoa pessoa = null
//Voce também pode declará-lo e instanciá-lo
Pessoa pessoa = new Pessoa();[/code]
O comando this é para dizer q vc esta utilizando um objeto global, declaro e acessado por toda sua classe, pois as vezes vc pode ter, mesmo não sendo aconselhável, objetos com mesmo nome declarado, sendo um local de seu metodo e um global de sua classe.
[quote=pedrolima88]opa valeu por responder camarada,
sobre a declaracao de variavel de objeto eu ate peguei, mas o this ainda estou meio que com duvidas.
vou ver se releio varias vezes ate entender
ou se alguem puder tentar me explicar de outra forma tambem to aceitando :D[/quote]
Imagina que você tem um int saldo; na classe Conta:
public class Conta {
int saldo;
}
Quando você queiser setar algum valor ao saldo, por exemplo, não há necessidade de usar o this, pois o this ultilizamos para diferenciar atributos da classe de outras classe. This = “esse”.
Mas se tivessemos:
public class Conta {
|--> int saldo;
|
| public void setSaldo(int saldo) {
|
|_ > this.saldo = saldo; // Este segundo será o que entramos como parâmetro do método setSaldo.
/*Aqui surgiu a necessidade de usarmos o "this", pois o objeto int que entrará como parâmetro também se chama "saldo", para a classe entender que
você quer setar o valor no saldo dela, você ultiliza o "this"*/
}
}
[quote=thiagocg]Voce pode sempre declarar o objeto antes de usa-lo
[code]//declarando o objeto, sempre que declarar informe um valor para que este objeto possa ser utilizado
Pessoa pessoa = null
//Voce também pode declará-lo e instanciá-lo
Pessoa pessoa = new Pessoa();[/code]
O comando this é para dizer q vc esta utilizando um objeto global, declaro e acessado por toda sua classe, pois as vezes vc pode ter, mesmo não sendo aconselhável, objetos com mesmo nome declarado, sendo um local de seu metodo e um global de sua classe.
Espero ter ajudado!
Abraço![/quote]
tipo isso:
class Conta {
int numero;
String nome;
double saldo;
double limite;
void saca(double saldo) {
this.saldo = this.saldo - saldo;
}
void deposita(double quantidade) {
this.saldo = this.saldo + quantidade;
}
//ta dizendo que this.saldo é sua variavel de instancia e que saldo é sua variavel local do metodo
//palavra chave this para mostrar que esse é um atributo, e não uma simples variável.
// mas isso é opcional
void transfere(Conta destino,double saldo) {
this.saldo = this.saldo - saldo;
destino.saldo = destino.saldo + saldo;
}
ahhh agora sim estou sacanado, o this ele aponta para avariavel global, ou seja a que esteja fora do metodo certo ?
o uso dele pode ser aconselhavel somente quando tem o mesmo nome as variaveis ou foi apenas coencidencia?
[quote=pedrolima88]opa!
muito obrigado mesmo.
Soh para confirmar entao:
isso aqui,
Conta c1;
c1 = new Conta();
eh a mesma coisa que isso aqui:
Conta c1 = new Conta();
?
valeu![/quote]
é isso ai são 3 etapas segundo a kathy sierra declaração, criação e atribuição
1 - Conta c1 --> declaração da variavel
2 - new Conta(); --> solicita a JVM alocar espaço pra um novo objeto
3 - Cota c1 = new Conta(); --> vincule o objeto e a referência, atribui o novo objeto Conta a variável de referência c1