Duvida em Java

4 respostas
G

pessoal, eu estou aprendendo Java e estou com com uma duvida sobre um código.

nesse código abaixo
public class Pessoa {
    String nome;
    String telefone;
    String endereco;
 
    public Pessoa() {
        nome = "";
        telefone = "";
        endereco = "";
    }
    public Pessoa(String nome, String telefone, String endereco) {
        this.nome = nome;
        this.telefone = telefone;
        this.endereco = endereco;
    }
}

Qual a diferença entre o plublic class pessoa e o public pessoa ?

4 Respostas

d34d_d3v1l

public class Pessoa

é o nome da classe, que também será o nome do arquivo .java

public Pessoa é o construtor… E tem dois construtores, o padrão (default) e um com parâmetros…
Estude sobre construtores.

abraços

java_es_a_lei

o public Class pessoa indica que você esta criando um Class do tipo pessoa

agora o sem Class é o construtor da sua class

Exemplo se você criar main e dar um new em Pessoa

veja que no fim vc passa o nome,telefone e endereco porque você chama construtor da Class Pessoa

Pessoa p = new Pessoa(nome, telefone, endereco);
drsmachado

Toda classe java segue algumas regras, entre elas, está a questão da nomenclatura da classe e do arquivo onde ela foi salva.
Caso a classe seja indicada com o modificador “public”, o arquivo que a contém precisa, obrigatoriamente, ter o mesmo nome da classe.
Por exemplo, se você salvar a classe

public class NomeDaClasse{ ... }
num arquivo com nome diferente de NomeDaClasse.java o compilador acusará erro.

Toda classe possui, mesmo que oculto, um construtor, cuja finalidade é chamar ao método construtor da sua superclasse, no caso, como todas extendem de Object, no mínimo a chamada super se refere à esta classe.
O construtor é utilizado para que a JVM instancie os objetos a partir desta classe e, este, pode ser único e oculto ou, explícito e único ou ainda, explícito e sobrescrito.

Quando não se define um construtor para uma classe, a JVM provê um padrão, sem parâmetros ou quaisquer ações internas.
Quando se cria um construtor explícito, não há a criação deste padrão.
Quando se tem a necessidade de construir mais de um construtor, cada um deles deverá ter um tipo ou número diferente de parâmetros

public class NomeDaClasse{
  public NomeDaClasse(String nome){
  //logica aqui
  }
  public NomeDaClasse(int cod){
  //logica aqui
  }
}
G

Valeu pessoa, eu entendi o que cada um faz.

Muito obrigado :lol:

Criado 6 de maio de 2011
Ultima resposta 6 de mai. de 2011
Respostas 4
Participantes 4