Press enter to see results or esc to cancel.

Nome dos Arquivos e Nome das Classes em Java

A linguagem Java possui algumas regras relacionadas com a criação dos arquivos e o código pertencente ao arquivo. Veremos algumas combinações, válidas e inválidas, do nome do arquivo com as classes declaradas dentro dele.

A Combinação Tradicional

O mais comum é que se escreva uma classe pública com o mesmo nome do arquivo .java. Observe a declaração da classe Pessoa dentro do arquivo Pessoa.java a seguir:

Classe pessoa

public class Pessoa {
	private String nome;

	public String getNome() {
		return nome;
	}

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

A classe Pessoa possui o modificador de acesso public. É muito importante observar que este código também compilaria sem esse modificador de acesso. Desta forma:

class Pessoa {
	private String nome;

	public String getNome() {
		return nome;
	}

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

Agora a classe Pessoa possui o modificador de acesso padrão da linguagem Java.

O Nome da Classe

Não é necessário que a sua classe tenha o mesmo nome do arquivo .java. O exemplo abaixo compila sem problemas:

Classe pessoa

class Carro {
	private String cor;

	public String getCor() {
		return this.cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}
}

A classe Carro foi declarada dentro do arquivo Pessoa.java. Não ocorrem erros de compilação porque a classe Carro não é pública, ou seja, ela não possui o modificador de acesso public.

Caso a classe carro estivesse declarada como no código abaixo, teríamos um erro de compilação.

public class Carro {
	private String cor;

	public String getCor() {
		return this.cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}
}

Ao declarar uma classe pública, ela deve ter o mesmo nome do arquivo .java. Mas perceba que não é necessário que tenhamos uma classe com o mesmo nome do arquivo.

Mais de Uma Classe por Arquivo

É possível declarar mais de uma classe dentro de um mesmo arquivo .java. Veja o exemplo a seguir que declara duas classes dentro de um mesmo arquivo:

Classe pessoa

public class Pessoa {
	private String nome;

	public String getNome() {
		return nome;
	}

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

class Carro {
	private String cor;

	public String getCor() {
		return this.cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}

}

As classes declaradas dentro do arquivo Pessoa.java foram Pessoa e Carro.

Esse código compila com sucesso, pois apenas a classe Pessoa possui o modificador de acesso public e o arquivo tem o mesmo nome dela. A classe Carro possui o modificador de acesso padrão.

Mas só é permitida uma declaração de classe pública por arquivo.

O exemplo abaixo não compila:

Classe pessoa

public class Pessoa {
	private String nome;

	public String getNome() {
		return nome;
	}

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

public class Carro {
	private String cor;

	public String getCor() {
		return this.cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}
}

 

Conclusões

  • Não é necessário ter uma classe declarada com o mesmo nome do arquivo.
  • Cada arquivo .java deve conter apenas uma classe pública.
  • Caso uma classe tenha o modificador de acesso public, ela deve ter o mesmo nome do arquivo .java.
  • Podemos ter mais de uma classe declarada em um mesmo arquivo.
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone
Comments

Leave a Comment