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.