ou herde a classe que tem as constantes ou crie uma interface…
D
dokPJ
public class Jw_lic {
public static final String JW_SIS = "Sistema IRD";
public static final String JW_LIC = "Banco Cliente S/A";
...
}
public class Principal {
public static void main(String[] args) {
String empresa = Jw_lic.JW_LIC;
}
}
M
mhferreiraPJ
Sou novato, preciso de exemplos
M
mhferreiraPJ
Obrigado dok, funcionou certinho!
Porque é usado o parâmetro “final” ?
Parece que ele funciona sem ele né?
Como eu faço para herdar todas as constantes dessa classe?
D
dokPJ
O final é que caracteriza uma constante em Java. Colocando final o atributo não pode ser alterado.
:joia:
D
dokPJ
“mhferreira”:
Como eu faço para herdar todas as constantes dessa classe?
Para você herdar estas constantes você terá que declarar a classe Principal da seguinte forma:
publicclassPrincipalextendsJw_lic
Mas lembre-se que Java não permite herança múltipla. Talvez não seja de grande valia fazer Principal herdar de Jw_lic.
M
mhferreiraPJ
“dok”:
“mhferreira”:
Como eu faço para herdar todas as constantes dessa classe?
Para você herdar estas constantes você terá que declarar a classe Principal da seguinte forma:
publicclassPrincipalextendsJw_lic
Mas lembre-se que Java não permite herança múltipla. Talvez não seja de grande valia fazer Principal herdar de Jw_lic.
Não tem jeito de fazer tipo um import? pois terei várias classes com constantes, e a classe principal precisará enxergar essas constantes
D
dokPJ
Se vc colocar todas as classes no mesmo pacote, vc terá que fazer algo parecido com isso:
public class Principal {
public static void main(String[] args) {
String variavel = Classe1.CONSTANTE1;
String outravariavel = Classe2.CONSTANTE2;
}
}
Vc está querendo colocar tudo na mesma classe, o que pode bagunçar um pouco seu código.
Se acaso estas classes que possuem constantes estiverem em pacotes diferentes, em Java existe o import sim. Que é colocado no topo do arquivo especificando os pacotes ou classes que vc deseja importar.
M
mhferreiraPJ
“dok”:
Se vc colocar todas as classes no mesmo pacote, vc terá que fazer algo parecido com isso:
public class Principal {
public static void main(String[] args) {
String variavel = Classe1.CONSTANTE1;
String outravariavel = Classe2.CONSTANTE2;
}
}
Vc está querendo colocar tudo na mesma classe, o que pode bagunçar um pouco seu código.
Se acaso estas classes que possuem constantes estiverem em pacotes diferentes, em Java existe o import sim. Que é colocado no topo do arquivo especificando os pacotes ou classes que vc deseja importar.
Desculpe a insistência, é que eu tenho dezenas de constantes na Classe 1 e outras dezenas de constantes na Classe 2.
E a minha Classe principal precisa dessas constantes para rodas. Terei que “puxá-las” uma a uma ou tem um jeito que chamo a Classe 1 e a Classe 2 ela já traz todas as constantes ? Por exemplo, digamos que se tratam de valores numéricos, e eu quero que a Classe principal já trate-os diretamente com o nome da constante para efetuar calculos. EX:
CONS1 + CONS2 + CONS3 …
S
shadowPJ
vc pode herdar as duas assim
class classe1
{}
class classe2 extends classe1
{}
class principal extends classe2
{}
assim vc pega todas as constantes… mas isso eh horrivel!!!
Nossa obrigado shadow
Nunca tinha usado Interface. Parece que o trem é bão mesmo ! :lol: :lol:
Deu certinho aqui.
D
dokPJ
Só lembrando que para usar interfaces para herdar estas variáveis, elas terão que ser final, ou seja, não poderão ser alteradas.
S
shadowPJ
ele n quer constantes??? constantes n mudam!!!
D
dokPJ
Grande informação. Putz não sabia disso, fiquei maravilhado com esta informação do shadow. Estou maravilhado com isso. :roll:
Eu sei disso, shadow. Eu estou tentando avisar sobre uma possível tentativa de colocar atributos que não sejam constantes, o que é muito comum as pessoas tentarem fazer.
:yven: :yraiva: :telazul:
V
vinciPJ
Só lembrando que com Java 5, o mais elegante seria usar Enum.
M
mhferreiraPJ
“vinci”:
Só lembrando que com Java 5, o mais elegante seria usar Enum.
Fala Vinci blz?
Nunca ouvi falar desse tal Enum. Tem um exemplo ou algum material para disponibilizar?
bom dia pessoal blza
por favor me corrijam se estiver errado
o enumeratons serve para se trabalhar com contantes
todas os valores inseridos em uma classe que estende utiliza enumerations são inalteraveis
public enum Color { //esse é o enunciado do classe?
…
//aqui dentro eu declaro minhas constantes?? tipo String red; String blue
}
é mais ou menos essa a idéia ? :???:
por favor ajudem um leigo
desde ja obrigado
P
pcalcadoPJ
1 - Implementar interfaces para pegar cosntantes é uma péssima prática, deixa o códiog cofuso (você não sabe de onde as cosntantes vieram), tente usar a constante e a interface sem implementar:
intjaponeisabc=Constantes.JAPONEIS
2 - Em Java 5, use static import para pegar cosntantes assim
3 - Enuns servem para definir um itnervalo de valores possíveis e não se preocupar em ficar dadno valor as suas cosntantes, a idéia é por aí