Uma classe não reconhece a outra
Olá pessoal,
Há pouco tempo comecei aprender java. Estava seguindo um tutorial e em determinado momento me deparei com um erro. Pesquisei muito e não consegui nada.
O erro é:
cannot find symbol
symbol: class Funcionario
location: class ThisMetodo
a linha onde está o erro é esta:
Funcionario chefe= new Funcionario(nome, ID, salario);
este é o código:
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
e este é o outro:
package Funcionario;
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Há pouco tempo comecei aprender java. Estava seguindo um tutorial e em determinado momento me deparei com um erro. Pesquisei muito e não consegui nada.
O erro é:
cannot find symbol
symbol: class Funcionario
location: class ThisMetodo
a linha onde está o erro é esta:
Funcionario chefe= new Funcionario(nome, ID, salario);
este é o código:
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
e este é o outro:
package Funcionario;
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Luiz Rossato
Curtidas 0
Melhor post
Wagner
23/11/2017
Como eles estão em pacotes diferentes
tu n consegue acessa-los, tu so pode acessar classes do mesmo pacote...
para acessas classes de outros pacotes deve-se fazer o import do mesmo...
coloca no codigo isso que da certo
package Funcionario;
package ThisMetodo;
tu n consegue acessa-los, tu so pode acessar classes do mesmo pacote...
para acessas classes de outros pacotes deve-se fazer o import do mesmo...
coloca no codigo isso que da certo
import Funcionario.Funcionario;
GOSTEI 1
Mais Respostas
Luiz Rossato
23/11/2017
Olá Wagner,
Fiz assim (colei a sua instrução na 2ª linha)
package ThisMetodo;
import Funcionario.Funcionario;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
Ele diz agora que o pacote Funcionario não existe.
Fiz assim (colei a sua instrução na 2ª linha)
package ThisMetodo;
import Funcionario.Funcionario;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
Ele diz agora que o pacote Funcionario não existe.
GOSTEI 0
Wagner
23/11/2017
Eles estão no mesmo projeto ?
GOSTEI 0
Luiz Rossato
23/11/2017
Não;
Cada classe está num projeto diferente e todos estão na mesma pasta que criei para salvar todos os projetos de java.
Cada classe está num projeto diferente e todos estão na mesma pasta que criei para salvar todos os projetos de java.
GOSTEI 0
Wagner
23/11/2017
tem que colocar eles no mesmo projeto ...
se n quer perde-lo, cria uma copia do mesmo para dentro do projeto
e deixa eles assim Print
ai nem precisa do import
se n quer perde-lo, cria uma copia do mesmo para dentro do projeto
e deixa eles assim Print
ai nem precisa do import
GOSTEI 0
Luiz Rossato
23/11/2017
Eu devo entrar na pasta src onde está o arquivo Funcionario.java e copiar e então entrar na pasta src onde está o arquivo thisMetodo e então colar o Funcionário.java?
Ou seja os dois arquivos java vão ficar na mesma pasta src. É isso?
Ou seja os dois arquivos java vão ficar na mesma pasta src. É isso?
GOSTEI 0
Wagner
23/11/2017
cria uma nova classe dentro do pacote e copia todo o código do Funcionario original e salva para garantir que não de erros ..
GOSTEI 0
Luiz Rossato
23/11/2017
Copiei o conteúdo de Funcionario dentro de thisMetodo e ficou assim:
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
System.out.println("teste");
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
//***************************************COPIEI O CONTEÚDO DE FUNCIONARIO AQUI:
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Era isso que era pra fazer?
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
System.out.println("teste");
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
//***************************************COPIEI O CONTEÚDO DE FUNCIONARIO AQUI:
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Era isso que era pra fazer?
GOSTEI 0
Wagner
23/11/2017
Copiei o conteúdo de Funcionario dentro de thisMetodo e ficou assim:
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
System.out.println("teste");
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
//***************************************COPIEI O CONTEÚDO DE FUNCIONARIO AQUI:
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Era isso que era pra fazer?
package ThisMetodo;
public class ThisMetodo {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String nome = "Neil Peart";
int ID = 2112;
double salario= 1000000;
System.out.println("teste");
Funcionario chefe= new Funcionario(nome, ID, salario);
chefe.exibir();
}
}
//***************************************COPIEI O CONTEÚDO DE FUNCIONARIO AQUI:
public class Funcionario {
private String nome;
private int ID;
private double salario;
public void exibir(){
System.out.printf("O funcionário %s, de número %d recebe %.2f por mês", getNome(),getID(),getSalario());
}
public void setNome( String nome ){
this.nome = nome;
}
public void setID( int ID ){
this.ID = ID;
}
public void setSalario( double salario ){
this.salario = salario;
}
public String getNome(){
return this.nome;
}
public int getID(){
return this.ID;
}
public double getSalario(){
return this.salario;
}
}
Era isso que era pra fazer?
NÃÃÃÃÃÃÃÃÃÃÃOOOOO
kkkkkkkkkkkkkkkkkkkkkkkkk
Cria uma classe chamada funcionario dentro do pacote ThisMetodo e seja feliz
GOSTEI 0
Luiz Rossato
23/11/2017
Ainda sou muito insipiente mesmo.
Para criar uma nova classe e colocar dentro dela o conteúdo desejado era só ir em Arquivo, depois em Novo Arquivo, selecionar o projeto onde quero a nova classe e escolher o tipo de arquivo, que no meu caso era uma Classe Java, atribuir o nome desejado e pronto.
Agora consegui.
Graças a você Wagner.
Grande abraço e obrigado.
Para criar uma nova classe e colocar dentro dela o conteúdo desejado era só ir em Arquivo, depois em Novo Arquivo, selecionar o projeto onde quero a nova classe e escolher o tipo de arquivo, que no meu caso era uma Classe Java, atribuir o nome desejado e pronto.
Agora consegui.
Graças a você Wagner.
Grande abraço e obrigado.
GOSTEI 0