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 ?
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.
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.
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[/quote]
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…
LPJava, Pra mim ficou meio confusa a sua proposta, vou tentar explicar o que eu fiz.
Criei a classe abaixo no diretorio D:\Java
public class ImprimeTexto {
public ImprimeTexto() {
System.out.println("Imprime Texto");
}
public static void main(String[] str){
System.out.println("Imprime texto - main");
}
}
Compilou com sucesso.
Criei a pasta D:\Java\teste
Criei a classe abaixo dentro da pasta D:\Java\teste
package teste;
public class TestaImprimeTexto {
public static void main(String[] args) {
ImprimeTexto it = new ImprimeTexto();
}
}
Tentei compilar e deu o erro:
D:\JAVA\TESTE>javac TestaImprimeTexto.java
TestaImprimeTexto.java:6: cannot resolve symbol
symbol : class ImprimeTexto
location: class teste.TestaImprimeTexto
ImprimeTexto it = new ImprimeTexto();
^
TestaImprimeTexto.java:6: cannot resolve symbol
symbol : class ImprimeTexto
location: class teste.TestaImprimeTexto
ImprimeTexto it = new ImprimeTexto();
^
2 errors
Era isso que você tinha em mente ?
Se puder explicar melhor…
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.
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
//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;
}
}
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());
}
}
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