[英]How to access Java classes in same package
I have two java files (A.java + B.java) in src/com/example 我在src / com / example中有两个java文件(A.java + B.java)
A.java A.java
package com.example;
public class A {
public void sayHello(){
System.out.println("Hello");
}
}
B.java B.java
package com.example;
public class B{
public static void main(String... args) {
A a = new A();
a.sayHello();
}
}
If I cd to one level above src and type javac -d classes src/com/example/B.java 如果我cd到src以上的一个级别并输入javac -d classes src / com / example / B.java
I get an error saying cannot find symbol A? 我收到错误,说找不到符号A?
javac
doesn't know where to find source class you have to specify it with -sourcepath
option. javac
不知道在哪里找到源类,你必须用-sourcepath
选项指定它。
See: 看到:
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>
That's because Java doesn't know where to find the source of the other file. 那是因为Java不知道在哪里可以找到其他文件的来源。 You need to either
cd
into the src
directory, or specify the src
directory on the -sourcepath
. 您需要
cd
进入src
目录,或者指定-sourcepath
上的src
目录。
试试javac -d classes src / com / example / * .java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.