我在不同的文件中有两个类(CoinFlip和Incr),我正在尝试导入Incr以在CoinFlip中使用:
package com.iRprojects.Book.Java;
import java.util.*;
import com.iRprojects.Book.Java.*;
public class CoinFlip {
public static void main(String[] args) {
int g = 5;
System.out.println(incr(g));
}
}
和
package com.iRprojects.Book.Java;
public class Incr {
public static int incr(int i){
i++;
return i;
}
}
对于像这样的类,eclipse说找不到incr()。
如果我将其更改为:
package com.iRprojects.Book.Java;
import java.util.*;
//import com.iRprojects.Book.Java.*;
public class CoinFlip {
public static void main(String[] args) {
int g = 5;
System.out.println(com.iRprojects.Book.Java.Incr.incr(g));
}
}
编译好。 有什么想法吗?
答案 0 :(得分:0)
您的代码不正确...您正在尝试访问incr,就像它是CoinFlip类的本地方法一样。
实际上,它是在Incr类中定义的,因此应该像:
一样进行访问System.out.println(new Incr().incr(g));
另外,请考虑为您的包装声明使用正确的防晒建议。
答案 1 :(得分:0)
incr()
是Incr
的静态方法。如果未明确声明类名,则java将仅查看包含的类。由于CoinFlip
未实现incr()
,因此您会收到错误。
您也不需要类名的完全限定路径,Incr.incr()
没问题。
答案 2 :(得分:0)
在这种情况下,你必须写:
import static com.iRprojects.Book.Java.Incr.*;
这意味着从com.iRprojects.Book.Java.Incr类中导入所有静态成员,同时考虑访问修饰符。
答案 3 :(得分:0)
使用静态导入或写入Incr.incr()