Exemplo 2_1_005: flexibilizando o uso da classe por meio da sobrecarga de métodos.
public class soma4 { private double valor; public soma4(int valor) /*sobrecarga de construtores. Existem dois construtores que diferem pelo tipo do parâmetro*/ { this.valor=valor; } public soma3(double valor) { this.valor=valor; } private double getValor() { return this.valor; //busca o atributo valor } public double add(int num) { this.valor+=valor; return (this.valor); } public double add(double valor) { this.valor+=valor; return (this.valor); } public static void main(String[] args) { soma3 val = new soma3(5.5); val.add(3); val.add(4.5); System.out.print(val.getValor()); } }
A sobrecarga de operadores permite flexibilizar o uso das classes, melhorando a portabilidade e permitindo um melhor reaproveitamento do código.