Campos e Métodos
As classes Java possuem dois elementos primários: métodos, geralmente chamados de funções ou procedimentos em outras linguagens, e campos, mais geralmente conhecidos como variáveis. Juntos, eles são chamados de membros da classe. As variáveis mantêm o estado do programa e os métodos operam nesse Estado. Se a mudança é importante para lembrar, uma variável armazena essa mudança. Isso é tudo que uma classe realmente faz. É o programador que cria e organiza esses elementos de tal forma que o código resultante é útil e, idealmente, fácil para outros programadores entenderem. Outros blocos de construção incluem interfaces, sobre as quais você aprenderá no Capítulo 5, “Class Design,” e enums, sobre os quais você aprenderá quando começar a estudar para o exame OCP.
A classe Java mais simples que você pode escrever é a seguinte:
1: public class Animal {
2: }
Java chama uma palavra com significado especial uma “keyword”. A “keyword” public na linha 1 significa que a classe pode ser usada por outras classes. A “keyword” class indica que você está definindo uma classe. Animal dá o nome da classe. Com certeza, essa não é uma aula muito interessante, então adicione seu primeiro campo:
1: public class Animal {
2: String name;
3: }
Na linha 2, definimos uma variável chamada nome. Nós também definimos o tipo dessa variável para seja uma String. Uma String é um valor no qual podemos colocar texto, como "isto é uma string". String também é uma classe fornecida pelo Java. Em seguida, você pode adicionar métodos:
1: public class Animal {
2: String name;
3: public String getName() {
4: return name;
5: }
6: public void setName(String newName) {
7: name = newName;
8: }
9: }
Nas linhas 3 a 5, você definiu seu primeiro método. Um método é uma operação que pode ser chamada. Novamente, public significa que esse método pode ser chamado de outras classes. Em seguida, vem o tipo de retorno - nesse caso, o método retorna uma String. Nas linhas 6 a 8 é outro método. Este tem um tipo de retorno especial chamado void. Void significa que nenhum valor é retornado. Este método requer que informações sejam fornecidas para ele a partir do método de chamada; essa informação é chamada de parâmetro. setName tem um parâmetro chamado newName e é do tipo String. Isso significa que o chamador deve passar em um parâmetro String e esperar que nada seja retornado. A declaração completa de um método é chamada de assinatura do método. Neste exemplo, você pode identificar o tipo de retorno e parâmetros?
public int numberVisitors(int month)
O tipo de retorno é int, que é um tipo numérico. Há um parâmetro chamado month que é do tipo int também.