Classes

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.