Erro estranho com objeto

3 respostas
matheusssilva

Tenho uma classe chamada afastamentos

package br.com.folhax.beans;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author Matheus
 */
@Entity
@Table(name="afastamentos")
public class Afastamentos {

    @Id
    private String afacodigo;
    private String afadescricao;

    /**
     * @return the afacodigo
     */
    public String getAfacodigo() {
        return afacodigo;
    }

    /**
     * @param afacodigo the afacodigo to set
     */
    public void setAfacodigo(String afacodigo) {
        this.afacodigo = afacodigo;
    }

    /**
     * @return the afadescricao
     */
    public String getAfadescricao() {
        return afadescricao;
    }

    /**
     * @param afadescricao the afadescricao to set
     */
    public void setAfadescricao(String afadescricao) {
        this.afadescricao = afadescricao;
    }

}

Em uma outra classe eu instancio Afastamentos na classe RunGravacao

import br.com.folhax.beans.Afastamentos;

/**
 *
 * @author Matheus Saraiva
 */
public class RunGravacao {

    private Afastamentos afast = new Afastamentos();
    
    public static void main(String args[]){
    
        afast.setAfacodigo("TESTE");

    }
}

abaixo o erro que está mostrando

C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\src\RunGravacao.java:14: non-static variable afast cannot be referenced from a static context
        afast.setAfacodigo("TESTE");
Note: C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\src\br\com\folhax\gui\controls\MatheusTableModel.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\nbproject\build-impl.xml:528: The following error occurred while executing this line:
C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\nbproject\build-impl.xml:261: Compile failed; see the compiler error output for details.

Passei horas analisando as duas classes mas não consigo encontrar erro nesse código.

Se eu volocar fora do método main o erro muda.

C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\src\RunGravacao.java:12: <identifier> expected
    afast.setAfacodigo("TESTE");
C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\src\RunGravacao.java:12: illegal start of type
    afast.setAfacodigo("TESTE");
2 errors
C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\nbproject\build-impl.xml:528: The following error occurred while executing this line:
C:\Users\Matheus Saraiva\Documents\NetBeansProjects\Folhax\nbproject\build-impl.xml:261: Compile failed; see the compiler error output for details.
import br.com.folhax.beans.Afastamentos;

/**
 * @author Matheus Saraiva
 */
public class RunGravacao {

    private Afastamentos afast = new Afastamentos();

    afast.setAfacodigo("TESTE");
    
    public static void main(String args[]){
    }
}

3 Respostas

deniswsrosa

Como não?

Vc tá tentanto acessar um atributo de instancia dentro de um método estático, pra funcionar deveria fazer assim:

public static void main(String args[]){  
        Afastamentos afast = new Afastamentos();
         afast.setAfacodigo("TESTE");  
   
     }
deniswsrosa

Cara… com sinceridade vc deveria dar uma relembrada em java básico antes, nessa caso acima vc está tentando executar um código fora de um método||construtor

matheusssilva

Correto, não lebrava que para atributos existia esse detalhe. Eu estava gindo como se fosse métodos comuns. Não é questão de conhecer é questão de costume não havia trabalhado com propriedades antes pois eu persistia os dados via JDBC puro.
Con relação ao método fora do costrutor eu sabia disso coloquei fora para testar. Fora de um construtor ou do método main ele não tem como ser executado.

Valeu a dica.

Criado 5 de julho de 2010
Ultima resposta 5 de jul. de 2010
Respostas 3
Participantes 2