Duvida de Impressão

4 respostas
thitkd

Ao colocar esse código ele não imprime o que desejo.
Sabem informar porque esse erro ocorre?

package A4_Orientacao_a_Objetos_basica;

public class A4_Teste_Alguns_Metodos extends A4_0_Conta{

	public static void main(String[] args) {
		// Cria Conta (nova conta).
		// ALTERANDO VALORES DAS CONTAS.
			A4_Conta_Programa minhaConta01 = new A4_Conta_Programa();
			// "A4_Conta_Programa" é designado da classe  A4_Conta_Programa.
			minhaConta01.dono = "Thiago Oliveira";
			minhaConta01.numero = 04610-000;
			minhaConta01.saldo = 5000.00;
			minhaConta01.limite = 1000.00;
			
			minhaConta01.saca = -200.00;
			System.out.println(minhaConta01);
		}
	}

A impressão que aparece é está:

A4_Orientacao_a_Objetos_basica.A4_Conta_Programa@7919298d

4 Respostas

U

Você está aplicando a herança de forma incorreta, você teria que postar a sua classe objeto para ser analisada.

thitkd

Primeira Classe:

package A4_Orientacao_a_Objetos_basica;

public class A4_0_Conta {

	protected static String dono;
	protected static double saldo;
	protected static double limite;
	protected static int numero;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int numero;
		String dono;
		double saldo;
		double limite;
	}

	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}

	public double getSaldo() {
		return saldo;
	}

	public void setLimite(double limite) {
		this.limite = limite;
	}

	public double getLimite() {
		return limite;
	}

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

	public int getNumero() {
		return numero;
	}

	public void setDono(String dono) {
		this.dono = dono;
	}

	public String getDono() {
		return dono;
	}

	/** METODOS_A4_5: */
}

Segunda Classe:

package A4_Orientacao_a_Objetos_basica;

public class A4_Conta_Programa extends A4_0_Conta {

	double valor;
	double saca = saldo - valor;
	double deposita = saldo + valor;	
	
	/** A4_0_Conta 
	 * @param <A4_0_Conta>*/
	
	
		// TODO Auto-generated method stub

	/* Criado public void, para criar os dados (numero, dono, 
	 * saldo e limite) */
	/* 			"VOID" 
	 * é um método que não tem retorno. Não retorna nada. */
		@SuppressWarnings("unused")
		private void A4_0_Conta (final int numero, final String dono, final double saldo, final double limite){
			A4_Orientacao_a_Objetos_basica.A4_0_Conta.numero = numero; 
			A4_Orientacao_a_Objetos_basica.A4_0_Conta.dono = dono;
			A4_Orientacao_a_Objetos_basica.A4_0_Conta.saldo = saldo;
			A4_Orientacao_a_Objetos_basica.A4_0_Conta.limite = limite;	
			
			
	/** Os metodos get e set são padrões de métodos para serem 
	 * usados em um javabean. Não que não sejam usados de outra forma! */


			/** Conta01 */
			// A4_0_Conta indica onde serão buscados os 
			// métodos (minhaConta01)

			A4_0_Conta minhaConta01 = new A4_0_Conta ();
			// Agora podemos alterar a conta da forma que quisermos
			minhaConta01.setNumero(04611-004);
			minhaConta01.setDono("Thiago Ignacio");
			minhaConta01.setSaldo(1200.00);
			minhaConta01.setLimite(-100.00);
		
			System.out.println("Dono Conta = "+ minhaConta01.getDono()+ "\nNumero de Conta = "+minhaConta01.getNumero()+ "\nMeu Saldo = "+((A4_0_Conta) minhaConta01).getSaldo()+ "\nMeu Limite = "+minhaConta01.getLimite());
			/* Em SYSOUT ele não retorna nada, pois,
			 * ele está em método "VOID" (NULO) */
		
		
			/** Conta02 */
			A4_0_Conta minhaConta02 = new A4_0_Conta();
			// A4_0_Conta indica onde serão buscados os 
			// métodos (minhaConta02)
			
			minhaConta02.setNumero(04611-004);
			minhaConta02.setDono("Thatiana Oliveira");
			minhaConta02.setSaldo(1000.00);
			minhaConta02.setLimite(-1000.00);
			System.out.println("Dono Conta = "+ minhaConta02.getDono()+ "\nNumero de Conta = "+minhaConta02.getNumero()+ "\nMeu Saldo = "+((A4_0_Conta) minhaConta02).getSaldo()+ "\nMeu Limite = "+minhaConta02.getLimite());
			/* Em SYSOUT ele não retorna nada, pois, 
			 * ele está em método "VOID" (NULO) */
		
			/** Conta03 */
			A4_0_Conta minhaConta03 = new A4_0_Conta();
			// A4_0_Conta indica onde serão buscados os 
			// métodos (minhaConta03)

			minhaConta03.setNumero(04611-022);
			minhaConta03.setDono("Fabiana Jupyra");
			minhaConta03.setSaldo(3700.00);
			minhaConta03.setLimite(-100.00);
		
			System.out.println("Dono Conta = "+ minhaConta03.getDono()+ "\nNumero de Conta = "+minhaConta03.getNumero()+ "\nMeu Saldo = "+((A4_0_Conta) minhaConta03).getSaldo()+ "\nMeu Limite = "+minhaConta03.getLimite());
			/* Em SYSOUT ele não retorna nada, pois, 
			 * ele está em método "VOID" (NULO) */
		}
	}

Terceira e ultima classe criada:

package A4_Orientacao_a_Objetos_basica;

public class A4_Teste_Alguns_Metodos extends A4_0_Conta{

	public static void main(String[] args) {
		// Cria Conta (nova conta).
		
		// ALTERANDO VALORES DAS CONTAS.
			A4_Conta_Programa minhaConta01 = new A4_Conta_Programa();
			// "A4_Conta_Programa" é designado da classe  A4_Conta_Programa.
			minhaConta01.dono = "Thiago Oliveira";
			minhaConta01.numero = 04610-000;
			minhaConta01.saldo = 5000.00;
			minhaConta01.limite = 1000.00;
			
			minhaConta01.saca = -200.00;
			System.out.println(minhaConta01);
		}
	}
robertoMoraes

A impressão que aparece é está:

A4_Orientacao_a_Objetos_basica.A4_Conta_Programa@7919298d

subscreva o metodo toString da clase A4_Orientacao_a_Objetos_basica
http://www.guj.com.br/java/49820-tostring

Bruno_Ferreira1

Esses nomes de classe confundem um bocado, você poderia criar classes com nomes mais autoexplicativos
na classe A4_Conta_Programa imprime os valores corretos?
la você esta setando cada atributo no System.out:

A4_0_Conta minhaConta02 = new A4_0_Conta();  
             // A4_0_Conta indica onde serão buscados os   
             // métodos (minhaConta02)  
               
             minhaConta02.setNumero(04611-004);  
             minhaConta02.setDono("Thatiana Oliveira");  
             minhaConta02.setSaldo(1000.00);  
             minhaConta02.setLimite(-1000.00);  
             System.out.println("Dono Conta = "+ minhaConta02.getDono()+ "\nNumero de Conta = "+minhaConta02.getNumero()+ "\nMeu Saldo="          +((A4_0_Conta) minhaConta02).getSaldo()+ "\nMeu Limite = "+minhaConta02.getLimite());

ja na classe A4_Teste_Alguns_Metodos, voce esta querendo imprimir um Objeto, que tem vários atributos, voce precisaria setar os atributos a serem impressos na tela, como fez na classe A4_0_Conta
ou criar um Array list e imprimir cada indice dentro de um loop

Criado 4 de abril de 2011
Ultima resposta 5 de abr. de 2011
Respostas 4
Participantes 4