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]
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();
}
}
Legal poder contar com vcs … valeu !!!