Primeiros erros

2 respostas
M

Qdo tento compilar o código abaixo há como retorno a seguinte mensagem de erro: non-static method imprimeMsg() cannot be referenced from a static context imprimeMsg();
???

public class Ex1 { String mensagem = “o nome dessa classe é Ex1”; public void imprimeMsg() { System.out.println(mensagem); } public static void main (String[]args) { imprimeMsg(); } }

[color=“red”]Editado por Felipe: use BBCode para facilitar a leitura do código.[/color]

2 Respostas

F

O método main é um método estático, ou seja, eles não dependem de um objeto para serem executados, já o método imprimeMsg() não é estático, portanto para você poder executar este método você deve ou criar um objeto da classe Ex1 e chamar imprimeMsg() utilizando o método:

public class Ex1
{
  String mensagem = o nome dessa classe é Ex1;
  public void imprimeMsg()
  {
    System.out.println(mensagem);
  }
  public static void main (String[]args)
  {
    new Ex1().imprimeMsg();
  }
}

Ou você pode declarar imprimeMsg() como static (neste caso você também precisará declarar a variável mensagem como static para que ela possa ser usada por imprimeMsg()):

public class Ex1
{
  static String mensagem = o nome dessa classe é Ex1;
  public static void imprimeMsg()
  {
    System.out.println(mensagem);
  }
  public static void main (String[]args)
  {
    imprimeMsg();
  }
}
M

Legal poder contar com vcs … valeu !!!

Criado 30 de agosto de 2006
Ultima resposta 31 de ago. de 2006
Respostas 2
Participantes 2