如何访问 default package

kanongzhang 2010-04-11 12:12:36
我们都知道java有个 default package
我有这样的一段代码在defualt package 里面有这样一个java文件
public class helloworld {

public static void output(){
System.out.println("hello world!");
}

}
我又生成了一个package comm 里面有这样一个java文件
package comm;

public class test {

public static void main(String[] args){
helloworld.output(); //这段代码有问题,他不认识在default package里面的helloworld
}

}

为什么在comm这个package无法识别default package里面的东西呢,如何才能让他访问default package里面的东西呢?先谢谢了!!
...全文
1199 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuoshuo_mt 2011-07-13
  • 打赏
  • 举报
回复
初学JAVA,路过瞧瞧!
mateer 2010-10-21
  • 打赏
  • 举报
回复
这个问题有解,可以用最原始的类调用default package下的类,具体方法如下:
1。加载类
Class class = Class.forName("被调用类名");
2。调用类中的方法
Method method= snmpHandler.getMethod("被调用方法名", new Class[] { 参数列表类型 });
Object value = method.invoke(class.newInstance(), new String[]{ "参数一","参数二"});
举个例子,如:想调用的类名为MyClass,其中有方法为String myMethod(String str1,String str2);
则调用如下:
Class class = Class.forName("MyClass");
Method method= snmpHandler.getMethod("myMethod", new Class[] { String.class,String.class });
String value = method.invoke(class.newInstance(), new String[]{ "str1","str2"});
ok到此解决该问题


wd9053 2010-04-11
  • 打赏
  • 举报
回复
java中其他包中无法引用缺省包中的类。
因为默认包的类没有包名, 在被有包结构的类引用时,会被当成本包内的类。即编译器会在comm包下查找helloworld类,自然是找不到的。而由于没有包名,也无法使用import导入。
alvamai 2010-04-11
  • 打赏
  • 举报
回复
嗯 是 1楼 说对。 是要import 进去啊 不然该类会在它的同包下 找helloworld了。那当然就找不到
x_pengcheng 2010-04-11
  • 打赏
  • 举报
回复
使用IDE开发
draem0507 2010-04-11
  • 打赏
  • 举报
回复
建立LZ养成建包的好习惯。
zhushoujun 2010-04-11
  • 打赏
  • 举报
回复
学习学习

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧