Métodos sobrecarregados são métodos na mesma classe que compartilham o mesmo nome, mas aceitar diferentes tipos de variáveis como argumentos. Por exemplo, uma classe pode conter dois diferentes " adicionar " métodos : um que aceita dois valores double ", adicione (double a , double b) ", e que aceita dois valores inteiros , " add ( int a , int b). "O computador decide automaticamente qual método chamar em tempo de execução com base nos tipos de variáveis a ser passados para o método . Flexibilidade
Métodos sobrecarregados dar aos programadores a flexibilidade para chamar um método similar para diferentes tipos de dados . Se você está trabalhando em um programa de matemática , por exemplo, você poderia usar a sobrecarga de criar várias " multiplicar " as classes, cada uma das quais multiplica um número diferente de tipo de argumento : a mais simples " multiplicar ( int a , int b ) " , multiplica dois números inteiros , o método mais complicado " multiplicar ( double a , int b , int c) " multiplica uma cama de casal por dois inteiros - você poderia , em seguida, chamar de " multiplicar " em qualquer combinação de variáveis que você criou uma sobrecarga método e receber o resultado adequado.
construtores
sobrecarga também é usado em construtores para criar novos objetos dados diferentes quantidades de dados. Por exemplo , você poderia usar uma sobrecarga para criar três construtores diferentes para um objeto "House" com um número de casa, nome da rua e as variáveis de cor. O construtor mais simples " House ( ) " não tem argumentos e cria uma casa com padrão ou variáveis vazias. Um construtor mais complexo, " House ( int Numero da porta , String nome da rua ) , " cria uma casa com o número especificado casa e nome de rua , mas um padrão ou cor vazio. O construtor mais complexo ", House ( int Numero da porta , String da rua , cor String) , " cria uma casa com todas as informações especificadas , não deixando nada como padrão. Você poderia, então, criar um objeto de casa com base na informação actualmente disponível, com as informações disponíveis em branco ou pelo padrão.
Referências ambíguas
métodos sobrecarregado deve usar diferentes números ou tipos de argumentos para evitar ambigüidade. Se você criar dois métodos na mesma classe que tem o mesmo nome e aceitar dois inteiros como argumentos, o compilador Java não será capaz de distinguir entre os dois , mesmo se as variáveis de entrada têm nomes diferentes . Por exemplo , o método " add ( int a , int b) " não podem existir na mesma classe como o método "add (int c , int d ) . "
Tipos de retorno
Você deve definir um tipo de retorno para cada método sobrecarregado. Os métodos podem ter diferentes tipos de retorno - por exemplo, " add ( int a , int b) " pode retornar um inteiro , enquanto " add ( double a , double b) " retorna um casal. No entanto, Java não pode distinguir entre dois métodos diferentes com base em seu tipo de retorno. Portanto, " int multiplicar ( double a , double b) " não podem existir na mesma classe como " multiplicar casal (duplo , duplo b). "
< Br >