Classe é a unidade básica de organização do Java. Uma classe é definida usando a cláusula class, contendo dados e métodos. Estes dados e métodos podem ser escondidos para uso por outras classes (private) ou disponível por referência para outras classes (public). Métodos dentro da classe que possuem o mesmo nome da classe são chamados construtores.
Quaisquer métodos em uma classe podem ter o mesmo nome se tiverem uma lista de parâmetros diferentes. A resolução de qualquer ambigüidade em relação aos nomes é feita através da comparação do número e do tipo dos parâmetros.
Uma classe é um gabarito para a criação de objetos daquele tipo de classe. Em um programa Java, o programador cria um objeto (MeuObjeto) de uma classe (ClasseExemplo) da seguinte forma:
ClasseExemplo MeuObjeto = new ClasseExemplo();
Abaixo aparece um exemplo de uma classe típica, mostrando dados e métodos, ambos públicos e privados:
class safe{
public int NumeroPorta = 123;
private boolean trancado = true;
private int combinacao 456;
public boolean EstaTrancado(){
return(trancado);
}
public void Destrancar(int EstaCombinacao){
if(EstaCombinacao == combinacao) Destrancar();
}
private void Destrancar(){
trancado = false;
}
private void setCombinacao(int setting){
combinacao = setting;
}
safe(){ }
safe(int porta){
NumeroPorta = porta;
setCombinacao(NumeroPorta);
}
}
Subclasses de uma classe são criadas utilizando-se a palavra-chave extends na declaração da classe:
class CaixaForte extends safe{
/* Declaração da subclasse */
}
Uma subclasse herda os métodos públicos e os dados das classes parentes. O método com o mesmo nome da classe é sempre público e é o construtor, como já mencionado anteriormente. Uma classe pode ter diversos métodos com mesmo nome, mas com a lista de parâmetros diferentes.
A palavra-chave this consiste em uma referência na definição de uma classe a ela mesma. A palavra-chave super em uma definição de subclasse é uma referência a sua classe parente.