Erro em codigo de sobrecarga.. :(

7 respostas
britotr

fala pessoal… to com um problema mas não sei o que é…

to querendo fazer uma sobrecarga de metodos de um banco, onde o user tem que colocar nome do banco, numero da agencia e o numero do banco. Quando eu tento fazer a sobrecarga da um erro em dois metodos… os outros estão normais… help me…

void inicializaBanco (String nomeDoBanco, int numeroDoBanco, int numeroDaAgencia){
	nome = nomeDoBanco;
	numero = numeroDoBanco;
	agencia = numeroDaAgencia;
    }

esse é o metodo principal… agora vem a sobrecarga e é essa primeira que dá o seguinte erro…


C:\java\sistema>javac Banco.java
Banco.java:62: inicializaBanco(java.lang.String,int) is already defined in Banco

void inicializaBanco (String nomeDoBanco, int numeroDoBanco){
     ^

void inicializaBanco (String nomeDoBanco, int numeroDaAgencia){
       	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

aqui as sobrecargas funcionam normal…

void inicializaBanco (int numeroDaAgencia){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (String nomeDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }


    void inicializaBanco (int numeroDoBanco, int numeroDaAgencia){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

e por ultimo essa ultima sobrecarga tb dá erro…

void inicializaBanco (String nomeDoBanco, int numeroDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

o erro é o seguinte…

Banco.java:66: inicializaBanco(int) is already defined in Banco
void inicializaBanco (int numeroDoBanco){
^

bom pessoal… é isso… to no aguardo!!!

7 Respostas

T

Poste o “Banco.java” completo

diegosantiviago

do que deu pra entender do seu código, junto com o erro.

Banco.java:66: inicializaBanco(int) is already defined in Banco

Tem dois métodos inicializaBanco(int) na classe Banco.

britotr

segue aí o banco.java

public class Banco{
    private int numero;
    private int agencia;
    private String nome;

    private int getNumero (){
    	return numero;
    }

    private int getAgencia(){
    	return agencia;
    }

    private String getNome(){
    	return nome;
    }

    private void setNumero (int numero){
    	this.numero = numero;
    }

    private void setAgencia(int agencia){
    	this.agencia = agencia;
    }

    private void setNome (String nome){
    	this.nome = nome;
    }

    void inicializaBanco (String nomeDoBanco, int numeroDoBanco, int numeroDaAgencia){
	nome = nomeDoBanco;
	numero = numeroDoBanco;
	agencia = numeroDaAgencia;
    }

    


    void inicializaBanco (String nomeDoBanco, int numeroDaAgencia){
       	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (int numeroDaAgencia){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (String nomeDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }


    void inicializaBanco (int numeroDoBanco, int numeroDaAgencia){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (String nomeDoBanco, int numeroDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (int numeroDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

    void inicializaBanco (int numeroDaAgencia, String nomeDoBanco){
	System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");
    }

   

    void imprimeNaTela(){
	System.out.println ("-----------------------------------------------");
	System.out.println ("Bem vindo ao "+nome+". O "+nome+" feito para voce.");
	System.out.println ("BANCO: "+numero);
	System.out.println ("AGENCIA: "+agencia);
	System.out.println ("-----------------------------------------------");
    }



}

valeu

ignacio83
void inicializaBanco (String nomeDoBanco, int numeroDaAgencia){   
        System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");   
    }
void inicializaBanco (String nomeDoBanco, int numeroDoBanco){   
    System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia");   
    }

Estes dois métodos são exatamente iguais… por isso está dando erro… Não importa se o nome que vc deu para as variavéis é diferente, os dois metodos tem o mesmo nome e recebem dois paramêtros (String e Int)

britotr

ahhhhh… então quer dizer que o nome não importa, mas o tipo da variavel…

eu ja sabia disso… rsrs

valeu galera… vc são 10!!! por isso que to sempre por aqui… as respostas são rapidas e claras… valeu mesmo! fuuuuui

diegosantiviago

Acredito eu que também tem outro problema, afinal a compilação está dando no método inicializaBanco(int).

Veja:

void inicializaBanco (int numeroDoBanco){ System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia"); }

void inicializaBanco (int numeroDaAgencia){ System.out.println ("Inserir Nome do Banco / Numero do Banco / Numero da Agencia"); }

britotr

sim… eu havia percebido esse tb com a informacao do ignacio83… ja exclui ele… mas vlw tambem!!!

Criado 12 de fevereiro de 2009
Ultima resposta 12 de fev. de 2009
Respostas 7
Participantes 4