Resultados da pesquisa a pedido "jls"
Classes anônimas-internas mostrando modificador indesejado
Para meu entendimento, o código a seguir deveria ter impressotrue. No entanto, quando executei esse código, ele está imprimindofalse. De documentos Java delasses @Anonymous ...
Como a gramática JLS corresponde a acessos simples a campos (obj.f)?
Eu estava olhando para oJLS Chapter 19 grammar [https://docs.oracle.com/javase/specs/jls/se8/html/jls-19.html]tentando descobrir como um acesso simples ao campo é analisado: obj.fieldParece-me a primeira variante doFieldAccess produção está ...
Chamada de método de interface estática ilegal
O Java-8 permite definir métodos estáticos dentro da interface, masrestringe [https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.4]chamada apenas pelo nome da interface: 9.4: Uma interface pode declarar métodos estáticos, que são ...
Por que o Java vincula variáveis em tempo de compilação?
Considere o seguinte código de exemplo class MyClass { public String var = "base"; public void printVar() { System.out.println(var); } } class MyDerivedClass extends MyClass { public String var = "derived"; public void printVar() { ...
Por que a covariância do tipo retorno é imposta para métodos estáticos ocultos?
Este código não será compilado devido aoString tipo de retorno dostaticMethod noChild. class Parent { static void staticMethod() { } } class Child extends Parent { static String staticMethod() { return null; } }Eu sei que o JLS 8 em ...
Ambiguidade do Lambda de consumidor / função do Java 8
Eu tenho um método sobrecarregado que leva um consumidor e um objeto de função, respectivamente, e retorna um tipo genérico que corresponde ao consumidor / função correspondente. Eu pensei que isso seria bom, mas quando tento chamar qualquer ...
Quais erros e exceções de Java podem (não) ser gerados por "declarações vazias"?
Qualsubclasse (s) dejava.lang.Throwable pode ser jogado por uma declaração vazia? Pela frase "uma declaração vazia", eu soureferindo-se ao "nada", o "ponto e vírgula" e o "ponto e vírgula": // .... A(); B(); C(); try { // nothing } catch ...
Por que uma classe interna não pode usar o inicializador estático?
QuothJLS # 8.1.3 [http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.1.3]: Classes internas podem não declarar inicializadores estáticos (§8.7 [http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.7]) ...... Isso é ...
Quando posso usar o operador "=="?
Eu encontrei citação de jls: Os operadores de igualdade podem ser usados para comparar dois operandos conversíveis (§5.1.8) com o tipo numérico, ou dois operandos do tipo booleano ou booleano, oudois operandos que são do tipo de referência ou do ...
Expressão lambda e método sobrecarregando dúvidas
OK, então a sobrecarga de método é uma coisa ruim ™. Agora que isso foi resolvido, vamos assumir que eu realmentequer sobrecarregar um método como este: static void run(Consumer<Integer> consumer) { System.out.println("consumer"); } static void ...