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  

>>> http://bit.ly/java-swing  

👍 Curso de Desenvolvimento Web Completo  

>>> http://bit.ly/2FnB5Sp   

#java  #certificação

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!