Criando um Novo Pacote
Vamos analisar o seguinte código.
Local onde está o packagea E:\Java\packagea
package packagea;
public class ClassA{
}
Local onde está o packageb E:\Java\packageb
package packageb;
import packagea.ClassA;
public class ClassB{
public static void main(String[] args){
ClassA a;
System.out.println(“Boa”);
}
}
O Java que estou utilizando é o 12, se você estiver utilizando o 8 ou um outro, você não vai precisar estar dentro da pasta JDK como eu mostro nos meus exemplos. Faço isto porque o meu JRE está configurando com o 8.
Note os locais onde estão localizados os arquivos. Se você tentar compilar o programa irá gerar o seguinte erro:
C:\Arquivos de Programas\java\jdk-12.0.1\bin>javac -d bin E:\Java\packageb\ClassB.java
E se eu colocar o packagea dentro do packageb, será que dá certo?
Irá gerar o mesmo erro. Se eu apagar o packagea do diretório E:\Java\pacakgeb (voltar como estava antes) e executar o seguinte comando:
C:\Arquivos de Programas\java\jdk-12.0.1\bin>javac -d bin E:\Java\packagea\ClassA.java E:\Java\packageb\ClassB.java
Vai gerar o seguinte erro:
Para funcionar vamos executar este comando:
javac E:\Java\packagea\ClassA.java E:\Java\packageb\ClassB.java
Agora sim compila, mas será que executa?
Como você pode ver não foi encontrado a classe principal main.
Isto porque o comando executado está errado, execute este comando:
C:\Arquivos de Programas\java\jdk-12.0.1\bin>java -cp E:\Java packageb.ClassB
ou
E:\Java>”C:\Arquivos de Programas\java\jdk-12.0.1\bin\java” packageb.ClassB
Agora sim o programa será executado. A anotação -cp significa classpath, ou seja, o caminho do arquivo.
Note que a execução do programa foi feita fora do packageb, se você for fazer a execução dentro deste pacote irá gerar um erro. Se quiser executar a execução dentro do packageb, você deve tirar a identificação package packageb; no arquivo ClassB.java.
Formatação do Código no Exame
Algumas vezes o exame pode trazer as seguintes características de código.
Figura1
Note que o código não começa na linha 1, quando isto acontece você deve supor que os imports já foram feitos para que este código funcione. Pode notar também que para economizar espaço a formatação do código não vai ser organizada, muitas vezes o código vem tudo na mesma linha.
Figura 2
Agora veja este código que começa na linha 1, este sim deveria ter os imports mostrado ou a questão dizer que os imports devem ser considerados incluídos. Outra coisa que as vezes não aparece e você deve considerar que há no código é o método main().
Comparando os dois códigos e se a questão fosse:
Os códigos da figura 1 e 2 compilam? Na Figura 1 a resposta é sim, porque os imports não devem ser considerados, na Figura 2 a resposta é não, porque os imports devem ser considerados, e em ambas sempre considerar que o método main() existe.
❤️ Curso Java Para Iniciantes
👍 Curso de Desenvolvimento Web Completo
#java #certificação
Deixe um comentário