Já apanhei 'surra' com uso de packages. Hoje tento passar do pouco que sei.
Quando se pretende projectar o desenvolvimento de classes, geralmente se recorre ao uso de packages de modo a evitar conflitos de nomes de classes e a organizar melhor o codigo, para evitar convençao. Um exemplo disso sao os pacotes muito conhecidos como java.util,java.io, etc, que possuem suas classes. Por exemplo ao fazer um import (declaração que permite colocar classes num ficheiro .java) voce poderia usar a seguinte instrução:
import java.util.Random;
Isso significa que podemos usar a classe Random do pacote java.util, porque ela já está no nosso ficheiro .java. Como nao é meu objectivo falar de imports mas sim de criação de packages e ser mais pratico com isso, sao necessarios alguns passos (Note que nao é exactamente uma convenção oficial).
- Adotar a convenção de nomes que consiste em usar sua extensao.nomededominio.nomepasta1.nomepasta3.sequiseroutrapastaeassimpordiante
- Quando for criar uma classe, no inicio do ficheiro .java deverá existir a declaração
package extensao.nomededominio.nomepasta1.nomepasta3.sequiseroutrapastaeassimpordiante
Imaginemos que estejamos a organizar nossos ficheiros na pasta src do seguinte path:
c:\proj\src
Nosso pacote ficaria assim:
c:\proj\extensao.nomededominio.nomepasta1.nomepasta3.sequiseroutrapastaeassimpordiante
Nossos arquivos .java ficariam em src
ex: c:\proj\src\ExemploClasse.java
e exemplo classe desejariamos que fosse um pacote de
extensao.nomededominio.nomepasta1.nomepasta3.sequiseroutrapastaeassimpordiante
Para que assim fosse por altura da compilação teriamos de proceder da seguinte forma:
c:\proj\src>javac -d c:\proj c:\proj\src\ExemploClasse.java
ou
c:\proj\src>javac -d c:\proj c:\proj\src\*.java
Isso colocaria, os ficheiros .class nos pacotes certos. Por altura da execução dum .class que usa os pacotes acima poderiamos chamar:
c:\proj\src>java -classpath ;c:\proj;. FICHEIRO.CLASS
Isso daria a indicação certa da localização dos pacotes ao FICHEIRO.CLASS
http://nataniel.tk
|
|

17:13:35











