Dúvida com Classes

No Gel, quando crio um projeto e insiro as duas classes:

[code]
public class Pessoa{
String nome;
int idade;
String profissao;

}
[/code]e

public class UsaPessoa{

       public static void main(String args[]){
           Pessoa p = new Pessoa();
           p.nome="Ana";
           p.idade=32;
           p.profissao="Secretária";

           System.out.println(p.nome+" "+p.idade+" "+p.profissao);

       }



}

Não consigo instânciar o objeto p porque não encontra a classe Pessoa, agora se eu criar os arquivos sem coloca-los em um projeto funciona, por que?

Obrigado

ve se as duas classes estao no mesmo pacote, e pelo seu codigo voce nao esta utilizando OO

Sua classe Pessoa está sem construtor!

e também aconselho a utilizar os métodos getters and setters.

att.

Reveja alguns conceitos de encapsulamento e tente novamente, utilizando getters e setters e variáveis com modificadores de acesso privados.

Exemplo:

public class Pessoa {

    private String nome;
    private int idade;
    private String profissao;
    
    public Pessoa(){
        nome = "";
        idade = 0;
        profissao = "";
    }
    
    public Pessoa(String nome, int idade, String profissao){
        this.nome = nome;
        this.idade = idade;
        this.profissao = profissao;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }
}

Na classe Filha:

public class UsaPessoa {
    
    public static void main(String[] args) {
    
        Pessoa p = new Pessoa();
        p.setNome("Ana");
        p.setIdade(22);
        p.setProfissao("Bancária");
        
        System.out.println(p.getNome() + " " + p.getIdade() + " " + p.getProfissao());  
        
    }
}

Tente algo similar…

[]'s

[quote=EduFranzoni]Sua classe Pessoa está sem construtor!

e também aconselho a utilizar os métodos getters and setters.

att.[/quote]
Especificação java:

Se uma classe não contém um construtor explícito, a JVM proverá um para a mesma.

Mesmo que a classe seja

public class ClasseSemConstrutor{}

Ela terá um construtor

public class ClasseSemConstrutor{
  public ClasseSemConstrutor(){}
}

[quote=drsmachado][quote=EduFranzoni]Sua classe Pessoa está sem construtor!

e também aconselho a utilizar os métodos getters and setters.

att.[/quote]
Especificação java:

Se uma classe não contém um construtor explícito, a JVM proverá um para a mesma.

Mesmo que a classe seja

public class ClasseSemConstrutor{}

Ela terá um construtor

public class ClasseSemConstrutor{ public ClasseSemConstrutor(){} } [/quote]

Verdade, bem lembrado! esse construtor inicializa os atributos com 0 ou NULL, né?

DukeFriend,
provavelmente suas classes não estão na mesma package(pacote). Dê uma olhada nisso, qualquer coisa posta aí

[quote=DukeFriend]No Gel, quando crio um projeto e insiro as duas classes:

[code]
public class Pessoa{
String nome;
int idade;
String profissao;

}
[/code]e

public class UsaPessoa{

       public static void main(String args[]){
           Pessoa p = new Pessoa();
           p.nome="Ana";
           p.idade=32;
           p.profissao="Secretária";

           System.out.println(p.nome+" "+p.idade+" "+p.profissao);

       }



}

Não consigo instânciar o objeto p porque não encontra a classe Pessoa, agora se eu criar os arquivos sem coloca-los em um projeto funciona, por que?

Obrigado[/quote]

Getters and setters!!