Acessar métodos

2 respostas
O

Bom dia pessoal!
Eu tenho 3 classes .
A classe mae se chama: Arquivo
As filha são Aquivo1 e arquivo2;

Mas só que eu não consigo acessar o metodo ler() da classe Arquivo1
na classe Arquivo2

Na classe Arquivo2 eu quero acessar o método ler() da classe Arquivo1 e acessar o vetor de string dessa classe na classe 2.

As classes seguem abaixo:
Quem puder me ajudar nesse problema, que é uma coisa simples mas só que estou começando a programar com oo agora e não entendo muito das regras.
Abraço pessoal!!!

public class Arquivo

{

public String NomeArq; //Nome do arquivo

public FileReader Arq ;

public BufferedReader B;
Arquivo(String Nome) //Recebe o nome do arquivo que será manipulado
{
    NomeArq = Nome;
}

//------------------------------------------
// Este método realiza a abertura do arquivo
//------------------------------------------

public void Abrir()
{
    try
    {
        Arq = new FileReader (NomeArq);//abre o arquivo para
        B = new BufferedReader (Arq);//recebe os caracteres do arquivo em aberto
    }
    catch (IOException e)
    {
        JOptionPane.showMessageDialog(null, "Erro ao abrir o arquivo "+NomeArq);
     }
}

//--------------------------------------------
// Este método realiza o fechamento do arquivo
//---------------------------------------------

void Fechar()
{
    try
    {
        Arq.close();//Fecha o arquivo
    }
    catch (IOException e)
    {
        JOptionPane.showMessageDialog(null, "Erro ao fechar arquivo "+NomeArq);
    }
}

}// Fim da classe Arquivo


import <a href="http://java.io">java.io</a>.<em>;

import java.util.</em>;

import javax.swing.*;

import java.text.DecimalFormat;

public class Arquivo1 extends Arquivo
{

private String[] VetTemp = new String[8];
   Arquivo1(String Nome)
   {
   	   super(Nome);
   	
   }	

   
//-------------------------------------------
// Método para Exibir uma mensagem de Erro
//-------------------------------------------

public void ShowError (String Mensagem, String Cabecalho) {
    JOptionPane.showMessageDialog(null, Mensagem, Cabecalho,
                           JOptionPane.ERROR_MESSAGE);
    System.exit(0);
}




//--------------------------------------------------
// Este método converte um String em um número real
//--------------------------------------------------
  
  public float ToFloat (String s)
  {
    float i = 0;
    try {
        i = Float.parseFloat(s);
    }
    catch (NumberFormatException e) {
       ShowError(s + " Não é um número real válido."+"Verifique se o Arquivo"+"\n"+"foi preenchido corretamente", "Erro de Tipo");
    }
    return i;
 }
 
 
 
//----------------------------------------------------
// Este método converte um String em um número inteiro
//-----------------------------------------------------
 
 public int ToInt (String s)
 {
    int i = 0;
    try {
        i = Integer.parseInt(s);
    }
    catch (NumberFormatException e) {
       ShowError(s + " Não é um número Inteiro válido."+"Verifique se o Arquivo"+"\n"+"foi preenchido corretamente", "Erro de Tipo");
    }
    return i;
 }
 


//--------------------------------------------------------------------------------
// Método que faz a leitura do arquivo texto com os parâmetros
//----------------------------------------------------------------------------	

public void Ler()

{
String linha ;
   int L = 0; // Variável que controla a posição da linha que
	 
   try
   {
       while ((linha = B.readLine()) !=  null)
       {
          if (linha.trim().equals(""))
          {
                 ShowError(" Linha Vazia - Certifique-se de que as demais linhas foram "+"\n"+"preenchidas corretamente." , " Erro de Leitura");
                 break;
          		
          }else
          {
               VetTemp[L] = linha.trim();
		  	   L++;
		  }
	
	   }// fim do laço while
	   if(L != VetTemp.length) // Quando finalizar o loop é verificado se a última linha é vazio
	   {
	   	  ShowError(" Linha Vazia - Certifique-se de que as demais linhas foram "+"\n"+"preenchidas corretamente." , " Erro de Leitura");
	   }else{
		  for(int i = 0; i&lt;VetTemp.length; i++){
       	     System.out.println("\n"+VetTemp[i]);
       	  } 
			         
       }            
       
   } // Fim do try
   catch (IOException e) {
        JOptionPane.showMessageDialog(null, "Error - "+e.toString());
   }
   
}//Fim do método Ler

}//Fim da classe


public class Arquivo02 extends Arquivo01

{

Arquivo02(String NomeArq)

{

super(NomeArq);

}
//Arquivo01  a = new Arquivo01();

}//Fim da classe ArquivoDistanciasPocos

2 Respostas

A

Cara,
para vc acessar metodos de outra classe que nao seja a classe Pai (Arquivo), vc deve criar um objeto da classe que vc deseja usar o metodo e chamar o nomedoObjeto.nomedo metodo.
Ow então vc criar criar o metodo como static e acessa-lo direto com o nome da classe.nomedometodo!
Se o metodo estiver no Pai(Arquivo) ai é so nao declarar o metodo como private que vc consegue acessa-lo!
Flow!!!

O

Valeeu pela dica !
Flw

Criado 20 de abril de 2005
Ultima resposta 21 de abr. de 2005
Respostas 2
Participantes 2