[RESOLVIDO] o que quer dizer quando uma classe é toda letra maiuscula?

Por exemplo o CASE_SENSITIVE_ORDER é uma instância da class Comparator, certo???
Quer dizer alguma coisa quando ele é tudo em letra maiuscula???

Bom por convenção representa um atributo estático da classe

É apenas uma convenção que usamos para definir certos atributos, as constantes.
Constantes são valores estáticos, fixos, não mudam jamais… e devem ser escritos em maiúsculo segundo o Java Code Convention…

então toda classes que é constantes e estático tem que escrever de letras maiusculas???

Classe é classe, constantes são constantes. Classes levam por padrao Java Beans o camelCase.

O que vc postou são constantes não Classes.

Classe é classe, constantes são constantes. Classes levam por padrao Java Beans o camelCase.

O que vc postou são constantes não Classes.[/quote]

agora não entendi de vez, então CASE_SENSITIVE_ORDER é o que???Compare é uma classe correto??? :shock:

Por convenção se voce for declarar algo como static final voce deixa o nome inteiro em maiusculo, para classes o padrão camelCase com primeiro caractere maisculo também(Deve ter outro nome pra esse padrão).

Vamos explicar melhor… uma classe é uma classe, isso é óbvio…
Dentro das classes temos métodos e atributos (ou variáveis, mas é preferível chamar de atributos)…

Esses atributos tem suas propriedades específicas, como tipo (int, double, String, UmaClasseQualquer, etc), escopo (public, private)…

Nesse caso, temos um atributo static, e por definição das convenções de código do Java, devemos escreve-las em maiúsculo, e as palavras separadas por underline ( _ ) …

[quote=marcelo.bellissimo]Vamos explicar melhor… uma classe é uma classe, isso é óbvio…
Dentro das classes temos métodos e atributos (ou variáveis, mas é preferível chamar de atributos)…

Esses atributos tem suas propriedades específicas, como tipo (int, double, String, UmaClasseQualquer, etc), escopo (public, private)…

Nesse caso, temos um atributo static, e por definição das convenções de código do Java, devemos escreve-las em maiúsculo, e as palavras separadas por underline ( _ ) …[/quote]

bem, agora consegui entender.

vlw!! Obrigado pela atenção!!!

[quote=alexandref93][quote=marcelo.bellissimo]Vamos explicar melhor… uma classe é uma classe, isso é óbvio…
Dentro das classes temos métodos e atributos (ou variáveis, mas é preferível chamar de atributos)…

Esses atributos tem suas propriedades específicas, como tipo (int, double, String, UmaClasseQualquer, etc), escopo (public, private)…

Nesse caso, temos um atributo static, e por definição das convenções de código do Java, devemos escreve-las em maiúsculo, e as palavras separadas por underline ( _ ) …[/quote]

bem, agora consegui entender.

vlw!! Obrigado pela atenção!!![/quote]

Disponha… talvez você estivesse mais confuso com o método que essas variáveis são acessadas… por exemplo:

Integer.MAX_VALUE

Odnde [b]Integer[b] é a classe, e MAX_VALUE é um dos muitos atributos estáticos dessa classe… não há dúvidas quanto á “navegação” ai nesse caso, correto?

Atributos estaticos seguem o mesmo padrão de variaveis, apenas static finals que se escreve com letras maiusculas.

Engraçado que em Ruby apenas escrever a variavel com nome maiusculo o interpretador já considera isso como uma constante.

[quote=marcelo.bellissimo]Vamos explicar melhor… uma classe é uma classe, isso é óbvio…
Dentro das classes temos métodos e atributos (ou variáveis, mas é preferível chamar de atributos)…

Esses atributos tem suas propriedades específicas, como tipo (int, double, String, UmaClasseQualquer, etc), escopo (public, private)…

Nesse caso, temos um atributo static, e por definição das convenções de código do Java, devemos escreve-las em maiúsculo, e as palavras separadas por underline ( _ ) …[/quote]

Atributo static E final em letra maiúscula => constante.
Se todos os membros estáticos fossem escritos com letra maiúscula, o método public static void main(String[] args) seria escrito como public static void MAIN(String[] args).

[]´s

[quote=davidbuzatto][quote=marcelo.bellissimo]Vamos explicar melhor… uma classe é uma classe, isso é óbvio…
Dentro das classes temos métodos e atributos (ou variáveis, mas é preferível chamar de atributos)…

Esses atributos tem suas propriedades específicas, como tipo (int, double, String, UmaClasseQualquer, etc), escopo (public, private)…

Nesse caso, temos um atributo static, e por definição das convenções de código do Java, devemos escreve-las em maiúsculo, e as palavras separadas por underline ( _ ) …[/quote]

Atributo static E final em letra maiúscula => constante.
Se todos os membros estáticos fossem escritos com letra maiúscula, o método public static void main(String[] args) seria escrito como public static void MAIN(String[] args).

[]´s[/quote]

Métodos nunca são escritos em maiúsculo, sejam eles estáticos ou não…
E eu não falei “todos os membros estáticos”… falei em atributos…

Aliás, que eu saiba não é nem preciso declarar a variável como static e nem final pra ser considerada uma constante, basta estar em maiúsculo e com seu valor inicial declarado. Não existem constantes em Java, apenas simulamos o seu comportamento adicionando os modificadores static (que deixa o valor da variável acessível mesmo sem uma instância da mesma) e final (torna seu valor imutável)…

Então você está “sabendo errado”.
Isso que você falou é um absurdo.

A é? Se algo é imutável ele é o que então? Para mim, constante é sinônimo de imutável. Se algo não muda, o que ele é? Constante.
Pq não existe constante em Java? Pq não usa a palavra reservada “const”?
Constante em Java é static E final e normalmente é um campo com acesso público. Qual a finalidade de uma constante privada?

O que deixa algo acessível ou não são os modificadores de acesso e não o static. De tudo que você falou, a única coisa que está certa é que um membro estático não está relacionado a um objeto em específico, mas sim a uma classe. Tanto é que existem membros de classe e membros de objetos (membros de instância). Por membros, entenda classes internas, métodos e variáveis (as chamadas propriedades ou atributos).

Bem, se agora vc continuar a teimar, desisto.

[]´s

Então você está “sabendo errado”.
Isso que você falou é um absurdo.

A é? Se algo é imutável ele é o que então? Para mim, constante é sinônimo de imutável. Se algo não muda, o que ele é? Constante.
Pq não existe constante em Java? Pq não usa a palavra reservada “const”?
Constante em Java é static E final e normalmente é um campo com acesso público. Qual a finalidade de uma constante privada?

O que deixa algo acessível ou não são os modificadores de acesso e não o static. De tudo que você falou, a única coisa que está certa é que um membro estático não está relacionado a um objeto em específico, mas sim a uma classe. Tanto é que existem membros de classe e membros de objetos. Por membros, entenda classes internas, métodos e variáveis (as chamadas propriedades ou atributos).

Bem, se agora vc continuar a teimar, desisto.

[]´s[/quote]

++

Então você está “sabendo errado”.
Isso que você falou é um absurdo.
[/quote]
Já leu o codeconv?

[quote=davidbuzatto]

A é? Se algo é imutável ele é o que então? Para mim, constante é sinônimo de imutável. Se algo não muda, o que ele é? Constante.
Pq não existe constante em Java? Pq não usa a palavra reservada “const”?
Constante em Java é static E final e normalmente é um campo com acesso público. Qual a finalidade de uma constante privada?

O que deixa algo acessível ou não são os modificadores de acesso e não o static. De tudo que você falou, a única coisa que está certa é que um membro estático não está relacionado a um objeto em específico, mas sim a uma classe. Tanto é que existem membros de classe e membros de objetos. Por membros, entenda classes internas, métodos e variáveis (as chamadas propriedades ou atributos).

Bem, se agora vc continuar a teimar, desisto.

[]´s[/quote]
Me explica o que é static e pra que ele serve então…

O static serve para deixar o acesso ao membro indepentende da instância. Algo assim irá rodar sem problemas:

JOptionPane pane = null; pane.showMessageDialog(null, "Olá!");

Outra coisa, declarar uma variável com letras maiúsculas não significa que ela é uma constante. As convenções de código não são usadas pela JVM, ou seja, algo assim é totalmente possível:

int INTEIRO = 10; INTEIRO += 20;

O que o davidbuzatto quer dizer com isso é que não se deve misturar as convenções com o comportamento da linguagem. Em Ruby, por exemplo, as constantes realmente são definidas pela inicial em maiúscula, mas no Java isso não acontece, é simplesmente uma convenção de codificação.

Entendeu agora marcelo.bellissimo? :?