【问题标题】:A java class can't find an other in the same package一个java类在同一个包中找不到另一个
【发布时间】:2015-07-28 10:45:31
【问题描述】:

我在没有将货币转换为欧元的 IDE 的情况下在 ubuntu 中实现 java 程序,我在名为 finanza 的同一目录(包)中有 2 个类 ConvertiEuro 和 Valuta,当我尝试时,ConvertiEuro 类使用 Valuta 类编译 Valuta.java 它可以正确编译,但是当我编译 ConvertiEuro.java 时出现错误消息“ConvertiEuro.java:3: error: cannot find symbol”我不知道为什么这里是代码

  package finanza;

   public class Valuta {

     private String nomeValuta;
     private double totValuta;



    public Valuta(String nomeVal, double totVal) {

             nomeValuta = nomeVal;
             totValuta = totVal;
   }

       public String getNomeValuta() {

          return nomeValuta;    
       }

        public double getTotValuta() {
          return totValuta;     
   }

}

package finanza;

 import finanza.Valuta;

 public class ConvertiEuro {


private int valuteGestibili;
private int cont = 0;
private Valuta [] valutas;



public ConvertiEuro(int valuteGest) {

    this.valuteGestibili = valuteGest;
    this.valutas = new Valuta [this.valuteGestibili];


}
public boolean impostaValuta(Valuta val){


    if(cont<valuteGestibili) {
        this.valutas[cont] = val;
        cont ++;
        return true; 

    }
    else {
        return false;
    }   

}

}

这就是我的编译方式:javac ConvertiEuro.java

【问题讨论】:

    标签: java class import package


    【解决方案1】:

    我强烈怀疑问题出在你的编译方式上。

    ConvertiEuro.javaValuta.java 都应该在一个名为finanza 的目录中,并且最好从父目录 进行编译,这样所有编译器都知道在哪里可以找到其他代码同一个包。 期望在您当前所在目录下的 finanza 目录中找到一个名为 finanza 的包的源文件。

    同时编译所有文件是最简单的:

    javac finanza/*.java
    

    ...或者更好的是,使用将为您管理此类事情的 IDE。

    【讨论】:

    • 这两个类都位于一个名为 finanza 的文件夹中,当我按照您的指示编译时,即使我删除或注释 import finanza.Valuta,它也会正确编译;行,当然使用 IDE 会更容易,但我想学习如何从命令行编译和生成 jar 和 javadoc。
    猜你喜欢
    • 2023-03-30
    • 2016-02-06
    • 1970-01-01
    • 2016-01-08
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-18
    相关资源
    最近更新 更多