Um método pode declarar uma lista de exceções que ele pode lançar como, por exemplo:
public static int c(int i) throws MyException, MyOtherException {... };
A linguagem Java oferece suporte aos seguintes níveis de controle de acesso:
A engenharia reversa de código Java oferece suporte total a todos os níveis de controle de acesso Java para classes, atributos e operações.
Estes modificadores Java podem ser usados, de modo variado, em declarações de classes, de métodos e de variáveis.
| Modificador | Descrição |
|---|---|
| final | A palavra-chave final é um modificador que pode ser aplicado a classes, métodos e variáveis. Apresenta em cada caso um significado semelhante, mas não idêntico. Uma classe final nunca pode ter subclasses. Um método final nunca pode ser substituído. Uma variável final nunca tem o valor definido. Modificadores: operação: constante definida como verdadeira atributo: constante definida como verdadeira A permissão de acesso é "somente leitura" Exemplo: public final void writeDouble(double v) throws IOException {}; |
| native | A palavra-chave native é um modificador que pode ser aplicado a declarações de métodos. Indica que o método está implementado em outro lugar do C ou de alguma forma dependente de plataforma. Modificadores: native não é a captura definirá "native" como verdadeiro Exemplo: private native void socketCreate(Boolean isServer); |
| synchronized | A palavra-chave synchronized pode ser usada como um modificador para métodos de instância ou classe. Indica que o método modifica o estado interno da classe ou o estado interno de uma instância da classe de uma forma que não é "thread-safe" (segmento seguro). Modificador: Define sychronized como trueprivate synchronized native String initializeLinkerInternal(); |
| transient | A palavra-chave transient é um modificador que pode ser aplicado a campos de instância de uma classe. Indica um campo que não faz parte de um estado de persistência do objeto e, portanto, precisa ser serializado como objeto. Modificador: Define transient como verdadeiro. Exemplo: transient private int pData; |
| volatile | A palavra-chave volatile é um modificador que pode ser aplicado a campos. Especifica que o campo é usado por segmentos sincronizados e que o compilador não deve tentar realizar otimizações com ele. Modificador: Define volatile como verdadeiro. Exemplo: volatile private int pData; |