【发布时间】:2016-09-18 13:59:27
【问题描述】:
所以我有两个 java 文件(每个都有一个公共类)在同一个包中保存在同一个文件夹中。文件夹层次结构反映了包名称。现在,在其中一个类中,我想调用另一个类的方法。就我而言,这可以通过致电:someClass.someMethod(); 来完成。
当我这样做时,文件不符合要求。它会产生一条错误消息,指出它找不到该方法。* 我检查了拼写错误,但没有。我还尝试通过使用import somePackage.someClass 导入类来帮助程序,但没有任何结果。我可以使它工作的唯一方法是从两个文件中删除包或将方法复制到另一个文件,从长远来看,这些都不是可取的。
您知道导致错误的原因以及如何解决吗? 非常感谢!
-
错误如下所示:
TestBit.java:7: error: cannot find symbol boolean value = someClass.someMethod(arg1, arg2); ^ symbol: variable someClass location: class otherClass 1 error"
编辑:
这是代码:
package uk.ac.prejava.ex1;
public class PackedLong{
public static boolean get(long packed, int position) {
long check = (packed>>>position)& 1;
return (check == 1);
}
}
和
package uk.ac.prejava.ex1;
public class TestBit {
public static void main(String[] args) {
long currentValue = Long.decode(args[0]);
int position = Integer.parseInt(args[1]);
boolean value =PackedLong.get(currentValue, position);
System.out.println(value);
} }
我想在第二类调用PackedLong.get,但是在遵守javac时找不到文件。
【问题讨论】:
-
你是如何定义你的 someclass 的 someMethod 的?
-
请添加您的代码,没有它很难找到解决方案。
-
您必须首先拥有
someClass的实例。 -
并遵循 java 命名约定。包全部小写;但是课程以大写字母开头。不遵守那些简单的规则会让你的代码非常混乱。
-
@MichałSzewczyk 我现在已经添加了我的代码!
标签: java class methods compiler-errors