"Olá, meu jovem amigo. Espero que você não tenha esquecido que eu sou um burocrata de 16ª geração. Se eu não tivesse sistematizado todo o meu conhecimento, eu nunca teria chegado aonde cheguei. Eu tenho muitas informações úteis. Eu vou ajudar você com algumas tarefas. Para começar, quero falar um pouco sobre um típico programa em Java."
"Estou ouvindo."
"Fato número um. Um programa em Java consiste em classes. Cada classe é armazenada em um arquivo individual, cujo nome coincide com o nome da classe. A extensão do arquivo é java."
"Então, um programa consiste em uma série de arquivos com a extensão 'java', e cada arquivo contém o código de apenas uma classe, não é?"
"Corretíssimo, Amigo." Se um arquivo se chamar MeuGato.java, deve conter a classe MeuGato."
"Fato número dois. Quando temos muitos arquivos de classes, agrupamos todos em pastas e subpastas. Além disso, as classes são agrupadas em pacotes e subpacotes. Os nomes dos pacotes e subpacotes devem ser indicados no código da classe e devem ser idênticos aos nomes das pastas e subpastas no disco."
"Dessa forma, temos de um lado os arquivos armazenados em pastas e, do outro, as classes armazenadas em pacotes. Um nome de classe também deve ter o mesmo nome do arquivo que descreve a classe. O nome do pacote é o mesmo nome da pasta onde a classe é armazenada."
"Você pode dar mais detalhes?"
"Os nomes dos pacotes aninhados são divididos por pontos, quase como URLs."
"Em outras palavras, suponha que você tenha uma classe chamada Gato, armazenada em um pacote animais.estimacao. Isso significa:
No disco rígido há uma pasta (que vamos chamar de src) onde todos os arquivos do projeto são armazenados.
Ela contém outra pasta chamada animais, que por sua vez tem uma subpasta estimacao.
A pasta estimacao contém um arquivo Gato.java, que por sua vez contém o código da classe Gato."
"Não tenho certeza se entendi."
"Veja. A estrutura de classes e pacotes é um espelho da estrutura de pastas e arquivos no disco. Se tivermos um arquivo chamado Casa.java armazenado na pasta src/com/casas, então haverá uma classe Casa armazenada no pacote com.casas."
"Entendi."
"Você parece estar aprendendo isso bem rápido. Olhe para a tela. Este código é de uma classe pequena. Eu destaquei as partes principais:"
NOME DO PACOTE
package com.futujava.lesson2;
import java.io.IOException;
/**
* Usuário: Geral
* Data: 21/12/12
* Horário: 11:59
*/
NOME DA CLASSE
public class Tarefa1
{
⎤
private static String TEXTO = "Vá ver se eu estou na esquina"; ⎥ VARIÁVEL DA CLASSE
⎦
⎤
public static void main(String[] args) throws IOException ⎥
{ ⎥
SAÍDA DA TELA COMENTÁRIO DE UMA LINHA ⎥
System.out.println(TEXT); //Exibe uma string única ⎥
COMENTÁRIO EM BLOCO ⎥
/* ⎥
Isto é um comentário em bloco. ⎥
O código abaixo vai exibir três strings iguais. ⎥ main() METHOD
*/ ⎥
DECLARAÇÃO DE VARIÁVEL ⎥
String s = "Ho-ho-ho!"; ⎥
CHAMADA DE MÉTODO ⎥
exibeTextoMaisVezes(s, 3); ⎥
} ⎦
⎤
PARÂMETROS DO MÉTODO ⎤
public static void exibeTextoMaisVezes(String s, int vezes) ⎥ ASSINATURA DO MÉTODO
⎦
⎤
{ ⎥
LAÇO DE REPETIÇÃO ⎥
for (int i = 0; i < vezes; i++) ⎥
CORPO DO LAÇO ⎥ CORPO/CÓDIGO DO MÉTODO
{ ⎥
System.out.println(s); ⎥
} ⎥
} ⎥
⎦
}
"Ficou muito claro mesmo depois de só uma explicação."
"Que bom! É só o que precisamos. Tente entender só uma coisa. A compreensão completa virá com o tempo. Agora, eu vou fazer uns Zs. Outra pessoa vai continuar o seu treinamento."
GO TO FULL VERSION