Pessoal, na pág. 167 do livro da Kathy tem uma tabela que explica sobre assertivas, então tem uma explicação que não entendi:
“java -ea -das : Ativa assertivas no âmbito geral, porém desativando-as nas classes do sistema”
O que seria “âmbito geral” e “classes do sistema”?
Outra dúvida está na pág. 168 , lá no final : "Não use assertivas para validar argumentos de linha de comando."
O que seria “validar argumentos de linha de comando”?
olha abaixo: java -ea -da:portal.java.myClasse
Abilita Assertions para todas as classses mas disabilita para a classe portal.java.myClasse
e a argumentos de linha de comando sao akeles argumentos q se passa quando vc executa o java.
Ex: java myClasse arg1 arg2 arg3
myClasse tem 3 argumentos arg1, arg2 e arg3
que sao pegos pelo argumento que é recebido no MAIN da classse!
S
SchuenemannPJ
Habilita asserções em todas as classes, menos nas classes de sistema. Confesso que não sei exatamente o que são classes de sistemas.
-ea ou -enableassertions
-dsa ou -disablesystemassertions
Outra dúvida está na pág. 168 , lá no final : "Não use assertivas para validar argumentos de linha de comando."
O que seria “validar argumentos de linha de comando”?
Na verdade isso é um caso específico de: “Não use asserções para validar argumentos de métodos public”.
B
bigwavesPJ
shadow, o que vc me respondeu :
olha abaixo:
java -ea -da:portal.java.myClasse
Abilita Assertions para todas as classses mas disabilita para a classe portal.java.myClasse
“Abilita Assertions para todas as classses” seria para todas as classes do mesmo pacote de portal.java?
valeu galera,
Raphael C.
M
malanquiniPJ
Habilita assertion’s para toda e qualquer classe que venha a ser usada no aplicativo que está sendo executada. A única exceção seria a portal.java.myClasse.
B
bigwavesPJ
Habilita assertion’s para toda e qualquer classe que venha a ser usada no aplicativo
que está sendo executada.
A única exceção seria a portal.java.myClasse.
Não entendi a parte em destaque ,como assim “no aplicativo que está sendo executado”? vc poderia me esclarecer melhor? Porque embolou legal na minha mente…
Outra coisa galera , eu testei: java -ea -das e nem funciona,mas está no livro…
S
SchuenemannPJ
Não é das, é dsa. Já te falei isso antes.
M
malanquiniPJ
todas as classes que venham à ser instânciadas ou herdadas estarão com assertion’s habilitadas menos a MyClass.
B
bigwavesPJ
foi mal Schuenemann.
malanquini, pela sua última explicação ainda não ficou totalmente claro pra mim(foi mal se estou te deixando nervoso), mas gostaria que vc me respondesse se estou certo:
Todas as classes do pacote portal.java vão ficar com os assertions habilitados menos portal.java.myClasse.Seria isso?
J
Juliano_CarnielPJ
Seria isso tbm!
Se vc tiver outros pacotes nesta sua aplicação, elas serão “Assertadas” tbm, e única e exclusivamente a classe portal.java.myClasse não seria.
Entendido agora!!
Abraços!
M
malanquiniPJ
bigwaves, não estou irritado e espero agora terminar com sua dúvida.
como disse o jujo se você instanciasse outra classe esta tb estaria com assertions habilitadas.
p/ex:
packageportal.java;importoutroPacote.outraClasse;publicclasseMyClasse{publicstaticvoidmain(String[]args){outraClasseoc=newoutraClasse();outraClasseDentroDoPacoteocddp=newoutraClasseDentroDoPacote();System.out.println("Espero que agora entenda");}}
Se você rodar este código com “java -ea -da:portal.java.myClasse” ele estará habilitando assertions para todas as classes menos MyClasse, ou seja, a classe “outraClasse” e “outraClasseDentroDoPacote” estarão sujeitas à todas restrições referentes à assertions.
B
bigwavesPJ
malanquini , jujo e todo o pessoal valeu msm.
Deu pra pegar malanquini, com esse exemplo ficou bem claro, valeu msm