Ao invés de utilizar varáveis do tipo int no método mostraData, utilizei variáveis do tipo short e o código não compila, apresentando a seguinte mensagem de erro:
"The method preencheData(short, short, short) in the type Data is not applicable for the arguments (int, int, int)"
Se não utilizei ints em parte alguma da classe Data, por que recebo esta mensagem, levando em consideração que os valores fornecidos para os atributos estão entre dentro do range de um short (-32.768 a 32.767)? PS: convertendo todos os shorts para int, o código compila sem problema algum.
Segue trecho do código:
//--Classe Data
public class Data {
short dia;
short mes;
short ano;
void preencheData (short dia, short mes, short ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
//----
//--Classe Funcionario
public class Funcionario {
Data dataAdmissao = new Data();
String departamento;
int matricula;
String nome;
String rg;
double salario;
}
//----
//--Método main que executa o código
public class Ex06 {
public static void main(String[] args) {
Funcionario joao = new Funcionario();
joao.dataAdmissao.preencheData(2, 5, 2011);
joao.departamento = "RH";
joao.matricula = 6812;
joao.nome = "Joao da Silva";
joao.rg = "98.765.432-1";
joao.salario = 2800.0;
}
}