[Ajuda] Para instanciar objetos

3 respostas
M
Fala pessoal, bom estou com um erro estranho aqui, é o seguinte vou montar um sistema com uma fila que a professora passou para gente, mais não to conseguindo istanciar os objetos, mesmo eles sendo públicos, olhem:
import java.util.*;
public class Banco {
    Fila cliente = new Fila();
    public static void main(String[] args){
        cliente.
    	
    }
    
}
Quando eu coloco "cliente." não aparece os atributos da classe Fila, não consigo instanciar, olha a classe fila:
public class Fila {

	public int p_Inicio, p_Fim, p_IndInicio, p_IndFim;
	public int p_Frente, p_Tras, tamanho;
	public int[] fila = new int[10];
	

			public void iniciaFila (int i, int f)
			{
				p_Frente= i;
				p_Tras=i - 1;
				tamanho = 0;
				p_IndInicio = i;
				p_IndFim = f;
			}

			public int overFila ()
			{
				if (tamanho == (p_IndFim + 1))
					return 1;
				else
					return 0;
			}


			public int underFila ()
			{
				if (tamanho == 0)
					return 1;
				else
					return 0;
			}


			public int buscaFila()
			{
				return fila[p_Frente];
			}


			public void enfileirar(int Info)
			{
				tamanho = tamanho + 1;  
				p_Tras = ((p_Tras + 1)%(p_IndFim + 1));
				fila[p_Tras] = Info; 

			}


			public int desenfileirar()
			{
				tamanho = tamanho - 1;
				int aux = fila[p_Frente];          
				p_Frente = (p_Frente + 1) % (p_IndFim + 1);			
			  	return aux;  
			}

			public void mostraFila()
			{
				if (p_Frente <= p_Tras){
					for (int i=p_Frente; i<=p_Tras; i++){
						System.out.print(fila[i] + "  ");	
					}	
				}
				else{
					for (int i=p_Frente; i<=p_IndFim; i++){
						System.out.print(fila[i] + "  ");	
					}
					for (int i=p_IndInicio; i<=p_Tras; i++){
						System.out.print(fila[i] + "  ");	
					}				
				}
			}	
}
Pessoal, nao estou entendendo, da este erro aqui: Cannot make a static reference to the non-static field cliente. O que pode ser? v

3 Respostas

renamed
Você está acessando um atributo não estático (cliente) em um método estático (main)... faça assim:
import java.util.*;
public class Banco {
    Fila cliente = new Fila();
    public static void main(String[] args){
        Banco b = new Banco();
        b.fazAlgumaCoisa();
    	
    }

public void fazAlgumaCoisa(){
    //seu codigo aqui
}
    
}
yoshikichi
mayckonx:
Fala pessoal, bom estou com um erro estranho aqui, é o seguinte vou montar um sistema com uma fila que a professora passou para gente, mais não to conseguindo istanciar os objetos, mesmo eles sendo públicos, olhem:
import java.util.*;
public class Banco {
    Fila cliente = new Fila();
    public static void main(String[] args){
        cliente.
    	
    }
    
}
Quando eu coloco "cliente." não aparece os atributos da classe Fila, não consigo instanciar, olha a classe fila:
public class Fila {

	public int p_Inicio, p_Fim, p_IndInicio, p_IndFim;
	public int p_Frente, p_Tras, tamanho;
	public int[] fila = new int[10];
	

			public void iniciaFila (int i, int f)
			{
				p_Frente= i;
				p_Tras=i - 1;
				tamanho = 0;
				p_IndInicio = i;
				p_IndFim = f;
			}

			public int overFila ()
			{
				if (tamanho == (p_IndFim + 1))
					return 1;
				else
					return 0;
			}


			public int underFila ()
			{
				if (tamanho == 0)
					return 1;
				else
					return 0;
			}


			public int buscaFila()
			{
				return fila[p_Frente];
			}


			public void enfileirar(int Info)
			{
				tamanho = tamanho + 1;  
				p_Tras = ((p_Tras + 1)%(p_IndFim + 1));
				fila[p_Tras] = Info; 

			}


			public int desenfileirar()
			{
				tamanho = tamanho - 1;
				int aux = fila[p_Frente];          
				p_Frente = (p_Frente + 1) % (p_IndFim + 1);			
			  	return aux;  
			}

			public void mostraFila()
			{
				if (p_Frente <= p_Tras){
					for (int i=p_Frente; i<=p_Tras; i++){
						System.out.print(fila[i] + "  ");	
					}	
				}
				else{
					for (int i=p_Frente; i<=p_IndFim; i++){
						System.out.print(fila[i] + "  ");	
					}
					for (int i=p_IndInicio; i<=p_Tras; i++){
						System.out.print(fila[i] + "  ");	
					}				
				}
			}	
}
Pessoal, nao estou entendendo, da este erro aqui: Cannot make a static reference to the non-static field cliente. O que pode ser? v

E ai blz, o problema é Static e não static.
por mais q a JVM inicie o metodo MAIN ele é static.
Olhe isso:
http://www.guj.com.br/article.show.logic?id=121
falow

FrancoC

ou entao instancie a classe Fila de dentro do metodo main

Criado 30 de novembro de 2009
Ultima resposta 30 de nov. de 2009
Respostas 3
Participantes 4