如何在同一个包中访问Java类 [英] How to access Java classes in same package

查看:325
本文介绍了如何在同一个包中访问Java类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在src / com / example中有两个java文件(A.java + B.java)

I have two java files (A.java + B.java) in src/com/example

A.java

package com.example;

public class A {
    public void sayHello(){
        System.out.println("Hello");
    }
}

B.java

package com.example;

public class B{
    public static void main(String... args) {
        A a = new A();
        a.sayHello();
    }
}

如果我cd到src以上的某个级别并输入javac -d classes src / com / example / B.java

If I cd to one level above src and type javac -d classes src/com/example/B.java

我收到错误,说无法找到符号A?

I get an error saying cannot find symbol A?

推荐答案

javac 不知道在哪里找到源类,你必须用 -sourcepath <指定它/ code>选项。

javac doesn't know where to find source class you have to specify it with -sourcepath option.

参见:

C:\example>mkdir src
C:\example>type > src/
C:\example>mkdir src\com\example
C:\example>more > src\com\example\A.java
package com.example;
public class A {
}
^C
C:\example>more > src\com\example\B.java
package com.example;
public class B {
    A a;
}
^C
C:\example>javac -d
C:\example>mkdir classes
C:\example>javac -d classes src\com\example\B.java
src\com\example\B.java:3: cannot find symbol
symbol  : class A
location: class com.example.B
        A a;
        ^
1 error
C:\example>javac -d classes -sourcepath src src\com\example\B.java
C:\example>

这篇关于如何在同一个包中访问Java类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆