Pop*_*ops 51 java syntax import
是否可以在Java中导入默认包中的类?如果是这样,语法是什么?例如,如果你有
package foo.bar;
public class SomeClass {
// ...
Run Code Online (Sandbox Code Playgroud)
在一个文件中,你可以写
package baz.fonz;
import foo.bar.SomeClass;
public class AnotherClass {
SomeClass sc = new SomeClass();
// ...
Run Code Online (Sandbox Code Playgroud)
在另一个文件中.但是,如果SomeClass.java不包含包声明呢?你将如何参考SomeClass
的AnotherClass
?
Osc*_*Ryz 14
那是不可能的.
另一种方法是使用反射:
Class.forName("SomeClass").getMethod("someMethod").invoke(null);
Run Code Online (Sandbox Code Playgroud)
正如其他人所说,这是不好的做法,但如果您别无选择,因为您需要与使用默认包的第三方库集成,那么您可以在默认包中创建自己的类并访问其他班级也是如此。默认包中的类基本上共享一个命名空间,因此您可以访问其他类,即使它驻留在单独的 JAR 文件中。只需确保 JAR 文件位于类路径中即可。
如果您的类不在默认包中,则此技巧不起作用。