Duvida

Ola, eu nao consegui aprender como instanciar. Eu estou seguindo uma apostila e no programa que eu estou copiando, esta dando esse erro:

package ex02;

public class Main{

class MeuObjeto
{
String nome;
int idade;
String telefone;

MeuObjeto amigo = new MeuObjeto();   

}
public static void main(String[] args) {

  amigo.nome = "Joao";

//O erro fica grifado no “nome”

}

}

Se puderem me ajudar…brigado!

1- Bem vindo ao GUJ !!

2- Quando for postar seu código, siga as instruções deste topico

3- Qual IDE você utiliza, recomendo o notepad++ pra quem está começando :stuck_out_tongue:

4- Respondendo a sua pergunta, isso tá muito estranho, você está estudando sub-classes? se você estiver só começando, crie uma classe Main em um arquivo, e dentro dela crie só o método public static void main…

Crie a classe MeuObjeto em um arquivo separado, e deixe os atributos public, daí você vai ter acesso.

Espero ter ajudado
[]'s

[code]package ex02;

public class MeuObjeto
{
String nome;
int idade;
String telefone;

public static void main(String[] args)
{
MeuObjeto amigo = new MeuObjeto();
amigo.nome = “Joao”;

}
} [/code]

Estude um pouco mais.

Olá Rafael,
pelo que estou vendo você está acessando uma variavel de instancia de um método estático,

olhando melhor

MeuObjeto amigo = new MeuObjeto();
public static void main(String ...args)  {

}

se você reparar você não declarou ‘amigo’ como um objeto estatico (objetos estáticos são objetos de classe e so devem ser acessados por uma variavel de instância)
para esse código funcionar você deve trocar amigo para ser uma variavel estática

private static MeuObjeto amigo = new MeuObjeto();

assim o atributo se torna um atributo da classe e você pode usa-lo em metodos estáticos,
para metodos estaticos so se pode utilizar atributos estaticos
para metodos de instancia você pode utilizar estaticos e não estaticos,

dê uma busca por métodos estáticos aqui no forum que você vai entender melhor, (ta cheio de threads sobre isso)

abraços