Ola!
Eu to com uma duvida bobinha, mas que não encontrei resposta mesmo depois de uma googleada…
Como obter uma referencia à uma classe que está fora do package atual?
ex.: Temos a seguinte estrutura de arquivos
TesteFora.java //classe à qual deseja-se obter uma referencia (sem package)
+pckteste1 //package 1
Teste1.java
+pckteste2 //package2
Teste2.java
Como obter uma referencia de TesteFora na classe Teste1 ?
Você já tentou referencia-lá diretamente?? não sei se funciona fora do package só deixei meu main
LPJava
assim cara se vc nao criar um package para sua aplicacao ele vai ta em um pacote default… tipo:
“eu nao criava package, mais tinha uma pasta assim: C:\Estudo\ e aqui todos meus arquivos .java”
Mas quando criava minha class nao definia nenhum package… a essencia ai para vc instancia essa classe em outro package ta no nivel de acesso… da class se declarar como public pode instanciar aonde quiser… se declarar como default… apenas naquele package… aonde a class foi criada.
se eu tiver errado alguem me corrige…
Zeed01
Amigos bom dia !
Achei muito interessante a pergunta…
Fiz um teste como o LPJava disse e não funcionou.
Criei uma classe sem declaração de pacote (pacote default) e outra em um pacote (pacote guj) e não consegui referenciar a primeira classe a partir da segunda.
Inclusive no NetBeans, quando você pede para mover uma classe do pacote default para outro ele da um aviso de que não será mais possível importar classes do pacote default…
Bom… resumindo não sei como fazer referência à classes do pacote default a partir de classes de outro pacote.
Realmente não compila…
Alguém sabe a solução?
Será que não tem como importar o pacote padrão?
LPJava
Zeed01:
Amigos bom dia !
Achei muito interessante a pergunta…
Fiz um teste como o LPJava disse e não funcionou.
Criei uma classe sem declaração de pacote (pacote default) e outra em um pacote (pacote guj) e não consegui referenciar a primeira classe a partir da segunda.
Inclusive no NetBeans, quando você pede para mover uma classe do pacote default para outro ele da um aviso de que não será mais possível importar classes do pacote default…
Bom… resumindo não sei como fazer referência à classes do pacote default a partir de classes de outro pacote.
[]s
faz ai no notepad… cria uma pasta e poe a class dentro desta pasta… porem no codigo fonte nao informe nenhum package…
depois criei um package e poe a class e tenta instancia… a class sem package… class o acesso da class sem package deve ser default…
Zeed01
LPJava, Pra mim ficou meio confusa a sua proposta, vou tentar explicar o que eu fiz.
Era isso que você tinha em mente ?
Se puder explicar melhor…
Obrigado.
[]s
LPJava
estranho… eu quando tava aprendendo… la usando notepad… fazia… isso e nunca tive problemas…
Zeed01
Sem solução então ?
Ou seja, uma classe do pacote default (sem declaração de pacote) não pode ser instanciada por outra classe fora deste pacote ?
Link_pg
isso é incrivel… no material da sun eles dizem algo que não consegui compreender completamente
eu entendi que ele importa automaticamente o java.jang e o pakage atual, mas o (1) eu não entendi… “(1) the package with no name”. package sem nome ? seria o default package ?
Acho que é o defaut package mesmo… Pense só comigo…
Se você fosse importar todas as classes do default, o import ficaria mais ou menos assim…
import *;
Se não pudesse usar esse codigo acima, teria que importar classe a classe… Então faz sentido o que a Sun fala no manual dela.
E Zeed01, na hora de compilar, tente executar o javac a partir da package default ou coloca-la no classpath. Do jeito que você esta fazendo, eu entendo que o compilador nao esta vendo a sua classe porque ela esta em outra pasta.
osbornehell
ola pessoal estou começando a estudar java,
estou com algumas duvidas se poderem me ajudar.
minha duvida porque esta dando erro
import Medico; //da erro[color=red] [/color]
o codigo mais esclarecido
Colega, crie um outro tópico para tirar sua dúvida; não utilize o tópico existente.
Além disso, necessitamos saber qual o erro que está ocorrendo, para que seja possível o auxílio.
Ah, e use as tag codes tbm