public class Principal {
public static void main(String[] args) {
Funcionario f = new Funcionario();
f.setCodigo(5);
System.out.println("Codigo: " + f.getCodigo());
}
}
Classe Funcionario
public class Funcionario {
private int codigo;
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public int getCodigo() {
return codigo;
}
}
javac Principal.java
java Principal
OUT: Código 5
Alteração Funcionario (setter e getter como private)
public class Funcionario {
private int codigo;
private void setCodigo(int codigo) {
this.codigo = codigo;
}
private int getCodigo() {
return codigo;
}
}
javac Funcionario.java
java Principal
OUT: Código 5
Como ele funcionou??? Não era para gerar erro de runtime? O nível de acesso só é bloqueado na compilação???