importar classe sem package  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Link_pg
JavaEvangelist
[Avatar]

Membro desde: 28/04/2006 00:17:38
Mensagens: 413
Localização: Praia Grande / São Paulo - SP
Offline

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 ?

Abraços

Eduardo Felipe Vieira

Blog de Tecnologia!
Outro blog meu legal também mas não é de TI.



"Nós poderíamos ser muito melhores se não quiséssemos ser tão bons."
[Email] [WWW] [MSN]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Você já tentou referencia-lá diretamente?? não sei se funciona fora do package só deixei meu main

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

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..

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

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
nicholas.bittencourt
JavaTeenager
[Avatar]

Membro desde: 17/01/2007 00:17:42
Mensagens: 161
Localização: Niterói, RJ, Brasil
Offline

Até onde sei...



Só não testei pra ver se funciona...

--
Nicholas Dacal A. Bittencourt
http://goronah.blog.br

We also realized that solving everyone?s problems was too big of a challenge for the first release. It would be better to build a product that a lot of people love, than one that everyone tolerates (...) - Paul Buchheit, Gmail Engineer
[WWW] [MSN]
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

TesteFora seria a classe sem pacote ?

Testei e da erro de compilação.
francislon
JavaEvangelist
[Avatar]

Membro desde: 07/02/2007 09:27:21
Mensagens: 372
Localização: Ilhéus-BA
Offline

Realmente não compila...
Alguém sabe a solução?
Será que não tem como importar o pacote padrão?

"Mais vale a lágrima da derrota do que a vergonha de não ter lutado."

http:/perlbrasil.blogspot.com
[Email] [WWW] [MSN]
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

Zeed01 wrote: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...

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

LPJava, Pra mim ficou meio confusa a sua proposta, vou tentar explicar o que eu fiz.

Criei a classe abaixo no diretorio D:\Java


Compilou com sucesso.

Criei a pasta D:\Java\teste
Criei a classe abaixo dentro da pasta D:\Java\teste


Tentei compilar e deu o erro:


Era isso que você tinha em mente ?
Se puder explicar melhor....

Obrigado.

[]s
LPJava
GUJ Hacker

Membro desde: 18/04/2006 12:50:23
Mensagens: 5524
Localização: Bahia/Porto Alegre
Offline

estranho.. eu quando tava aprendendo.. la usando notepad.. fazia.. isso e nunca tive problemas..

Sun Certified Java Programmer 5.0
Blog:http://www.camilolopes.com
Twitter:www.twitter.com/camilolope
Linkedin: http://br.linkedin.com/in/camilolopes
Curso online OCPJP: http://pro.imasters.com.br/online/cursos/preparatorio-para-certificacao-java-ocjp
Autor livro Guia SCJP & JEE c/ Frameworks: http://blog.camilolopes.com.br/livrosrevistaspalestras/
[WWW]
Zeed01
Virtual Machine Man

Membro desde: 27/10/2006 16:44:29
Mensagens: 668
Offline

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
JavaEvangelist
[Avatar]

Membro desde: 28/04/2006 00:17:38
Mensagens: 413
Localização: Praia Grande / São Paulo - SP
Offline

isso é incrivel... no material da sun eles dizem algo que não consegui compreender completamente

For convenience, the Java compiler automatically imports three entire packages for each source file: (1) the package with no name, (2) the java.lang package, and (3) the current package (the package for the current file).


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 ?

Abraços

Eduardo Felipe Vieira

Blog de Tecnologia!
Outro blog meu legal também mas não é de TI.



"Nós poderíamos ser muito melhores se não quiséssemos ser tão bons."
[Email] [WWW] [MSN]
Link_pg
JavaEvangelist
[Avatar]

Membro desde: 28/04/2006 00:17:38
Mensagens: 413
Localização: Praia Grande / São Paulo - SP
Offline

ah, aquilo ali ta em Using Package Members

Abraços

Eduardo Felipe Vieira

Blog de Tecnologia!
Outro blog meu legal também mas não é de TI.



"Nós poderíamos ser muito melhores se não quiséssemos ser tão bons."
[Email] [WWW] [MSN]
nicholas.bittencourt
JavaTeenager
[Avatar]

Membro desde: 17/01/2007 00:17:42
Mensagens: 161
Localização: Niterói, RJ, Brasil
Offline

Link_pg wrote: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.

--
Nicholas Dacal A. Bittencourt
http://goronah.blog.br

We also realized that solving everyone?s problems was too big of a challenge for the first release. It would be better to build a product that a lot of people love, than one that everyone tolerates (...) - Paul Buchheit, Gmail Engineer
[WWW] [MSN]
osbornehell
HelloWorld
[Avatar]

Membro desde: 20/12/2008 13:21:40
Mensagens: 14
Offline

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

o codigo mais esclarecido


//Classe Pessoa
public class Pessoa{
//atributos
String nome;
String endereco;
//métodos
public void setNome(String newNome){
this.nome = newNome;
}
public void setEndereco(String newEndereco){
this.endereco = newEndereco;
}
public String getNome(){
return this.nome;
}
public String getEndereco(){
return this.endereco;
}
public void andar(){
System.out.println("Estou andando");
}
}


//Classe Medico
public class Medico extends Pessoa{
//atributos
String horário;
String especialidade;
//métodos
public void setHorario(String newHorario){
this.horario = newHorario;
}
public void setEspecialidade(String newEspecialidade){
this.especialidade = newEspecialidade;
}
public String getHorario(){
return this.horario;
}
public String getEspecialidade(){
return this.especialidade;
}
}

//Classe Clinica
import java.util.Scanner;
[b]import Medico; //erro

public class Clinica{

public static void main(String[] args){
Medico novoMedico = new Medico();
Scanner scn = new Scanner();

System.out.println("#####Cadastro Clinico#####");
System.out.println("Entre com o nome do médico:");
novoMedico.setNome(scn.nextLine());
System.out.println("Entre com o endereço do médico:");
novoMedico.setEndereco(scn.nextLine());
System.out.println("Entre com o horario do médico:");
novoMedico.setHorario(scn.nextInt());
System.out.println("Entre com a especialidade do médico:");
novoMedico.setEspecialidade(scn.nextLine());

System.out.println("Nome do médico:"+novoMedico.getNome());
System.out.println("Endereço do médico:"+novoMedico.getEndereco());
System.out.println("Horário do médico:"+novoMedico.getHorario());
System.out.println("Especialidade:"+novoMedico.getEspecialidade());
}
}

This message was edited 2 times. Last update was at 20/12/2008 13:38:00

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team