Usar ou não usar o this?

Meu problema é simples e não afeta o funcionamento do programa, quero saber isso por questão de convenção e para deixar o código mais bonito.
Não há nenhum problema com o nome do atributo ser igual o de uma variável, mas mesmo assim seria bom eu colocar o this?

public class Exemplo{
        int Ex = 0;
    public static void main (int[] args){
        Ex = 1;        //Usar ou não o this?
    }
    public void func(int Ex){
        this.Ex = Ex; //Aqui é obrigatório...
    }
}

É isso aí, acho que sou meio preguiçoso por não procurar isso no google, mas na verdade eu não sei nem qual “pergunta” formular para que o google me dê a resposta.

Cara, isso vai muito do gosto do freguês. Particularmente, eu uso somente quando há a necessidade de eliminar ambiguidades.

Eu, particularmente, uso o this somente quando necessário, como no caso do seu método func. Já a palavra reservada super eu uso sempre, para identificar que o atributo ou método está na classe superior.

Eu uso pq deixa o código mais “claro”, menos variáveis pra lembrar : )

Eu sempre usei o this, pelo mesmo motivo do @DoomGuy, acho que assim fia ‘óbvio’ de quem estamos falando.
Mas quando eu troquei de emprego me surpreendi por que aqui ninguém usa ‘this’ e me acharam um ET quando me viram usando.
Acho que não há um padrão, use o que parecer mais confortável.

Pensei que pudesse haver algum tipo de “acordo informal” onde sempre se usasse o this, para deixar mais claro e tudo o mais…

Obrigado pelas respostas!

@NicolasFernandes

Como eu acesso atributo/método da superclasse sem usar o super? ‘-’

Pow, this é d+. Uso sempre que possivel rs…

Sempre use por boa prática.

Os próximos programadores, irão ler melhor seu codigo. :wink:

eu geralmente uso this no construtor, pra setar valores em variaveis da private da classe

mas no main é legal usar também pq melhora o entendimento do código. Embora, isso vai muito do desenvolvedor mesmo.

Se vc utilizar um editor que não tem auxilio de cores para informar as visibilidades o “this” será de grande ajuda. Lembrando que mesmo com o notepad ou algo até mais rudimentar é possivel programar em java.

Além disso faz parte das boas praticas, raramente deixo de utilizar.

flws

Boa tarde a todos.

[quote=Carinha]Pensei que pudesse haver algum tipo de “acordo informal” onde sempre se usasse o this, para deixar mais claro e tudo o mais…

Obrigado pelas respostas!

@NicolasFernandes

Como eu acesso atributo/método da superclasse sem usar o super? ‘-’[/quote]

Voce pode omitir a sintaxe “super”, para invocar um método da super classe, desde que este método não esteja sobrescrito na sub-classe (classe atual), bastando tão somente invocar o metodo atráves de sua assinatura. Agora se este método estiver sobrescrito na sub-classe (classe atual), ai voce terá que utilizar a sintaxe “super” para diferenciar o método da super classe com o metodo da sub-classe que esta sobrescrito.

Com relação ao atributo, vai depender com qual modificador voce o declarou dentro de cada classe, pois para ter acesso a atributos de super classe, voce tem que declará-los com o modificador “public” na super classe, e se voce declarar um atributo com o mesmo nome na sub-classe com o modificador “private”, ai é recomendavel usar o “this” para referenciar o atributo da classe atual, e o “super” para referenciar o atributo da super classe. Se voce declarar os atributos como “private” na super classe e nas sub classes, ai não necessidade de usar nem this e nem super, porque os da super classe voce não tem acesso a atributos com visibilidade “private”.

Quanto a uso da sintaxe “this”, isso realmente vai do gosto de cada um, porem acho que ele somente deve ser usado para diferenciar um atributo no escopo de método com o atributo do escopo de classe.

Um abraço

[quote=vitordaumling]eu geralmente uso this no construtor, pra setar valores em variaveis da private da classe

mas no main é legal usar também pq melhora o entendimento do código. Embora, isso vai muito do desenvolvedor mesmo. [/quote]

Não dá pra usar o this dentro do método main porque ele é static

verdade rmendes08, realmente nao da pra usar o this no main!

não tinha me atentado a isso, to começando com java.

Valeu a dica!!

Rapaz se não tem necessidade é melhor vc não usar, mas quem faz o código é o programador ^^

Não vejo necessidade, até porque, quem programa em Java, programa em uma IDE, e o Eclipse, por exemplo, deixa os atributos de outra cor :lol:
Acho que fica muito poluído pra tudo usar ‘this’.

Eu também só uso o ‘this’ quando necessário para os casos de ambiguidade em SET já o ‘super’ é sempre, talvez seja preguiça mesmo, flw!

Raramente uso “this”. Geralmente é o eclipse que usa pra min. hahahah

[quote=rmendes08]

Não dá pra usar o this dentro do método main porque ele é static …[/quote]

Pensei que o pessoal ia ficar discutindo isso pra sempre… this dentro de método static não faz qualquer cabimento… O exemplo dado nem compila…

O problema maior não é nem usar ou não o this… (não existe padrão, eu por exemplo, só uso se necessário)

E sim variável começada com letra maiúscula

Isso é [size=18] [color=red]proibido[/color][/size] em Java.

Nome de variável deve ser começada com letra minúscula.

:wink: