Which are true about a method-local inner class? (Choose all that apply.)
A. It must be marked final
B. It can be marked abstract
C. It can be marked public
D. It can be marked static
E. It can access private members of the enclosing class
As alternativas B e E estão corretas. Porém, por que as alternativas C e D também não estão? Eu compilei o seguinte programa, e funcionou normalmente:
public class TesteFile
{
private String x;
static class InnerClass{
public String s;
public static void metodo(){ }
}
static final public void main(String[]sss){
}
}
Veja que o método "metodo()" é public e static. Isso não tornaria as alternativas C e D corretas também?