同一个文件夹下,两个java文件,Demo.java 和 Test.java 后者调用前者报错,具体如下,什么原因

public class Demo{
public static void show(){
System.out.println("哈哈");
}
}

class Test{
public static void main(String[] args) {
Demo d = new Demo();
d.show();
}
}

Test.java:3: 错误: 找不到符号
Demo d = new Demo();
^
符号: 类 Demo
位置: 类 Test
Test.java:3: 错误: 找不到符号
Demo d = new Demo();
^
符号: 类 Demo
位置: 类 Test
2 个错误
请按任意键继续. . .

如果两个文件在同一目录下,直接在cmd中javac Test.java编译是可以的,如下:


如果你测试时提示上面错误,那么仔细检查两个文件的命名及其扩展名是否写对了,Demo.java中的类名是否正确(一般不可能,我复制的你的代码,都ok的),或者放到其他盘符的目录下试试。

追问

嗯 是可以,我刚在cmd试了一下是可以,可是为什么用EDI就编译报错呢

追答

没用过也没听说过EDI这个东西,你是说IDE么,但不知道你用的什么集成开发工具,如果是Eclipse的话,同样同一个目录下的话(不同目录需要导入包),那么一点问题都没有。

追问

用的是这个EditPlus,好了现在弄好了,注册表出问题了。。感谢你的回答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-29
/** 
    错误点:在一个文件中只能有一个是类被声明为公共类,一般为主类
    警告点:show()方法是类Demo的静态方法,所以不需要实例化Demo,可以直接使用类名调用方法
*/
class Demo{
    
    public static void show(){
        System.out.println("哈哈");
    }
}

public class Test{

    public static void main(String[] args) {
        Demo.show();
    }
}

追问

我的意思 是一个 文件夹 下,两个java文件,每个java文件里面写一个类,而不是一个java里面两个类的调用

追答

两种可能:
1、给类Test加上public(规范),然后检查类名跟文件名是否一致
2、一个文件夹是否是“同一文件夹”,如果不是,需要import导入包
如果都没问题的话,程序没错了。

追问

是同一个文件夹下,和序是没错,我用EDI编绎就报错了,用CMD编译就没问题,我现在是想弄明白为什么EDI编译不通过

第2个回答  2015-08-29
你应该是什么地方操作有误,是没有问题的哦。。。。追问

是没问题主要是不知道问题在哪里,

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网