我们都知道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里面的东西呢?先谢谢了!!
我有这样的一段代码在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里面的东西呢?先谢谢了!!
解决方案 »
- 帮忙解释一下吧 ,详细一点,关于StringBuilder类型的,详情请进.
- 300分!给一个数组 求里面出现次数最多的元素和其次数 另:需要加上时间复杂度,否则只给5分。最优算法给100分
- 看不懂这个代码 求下面题的思路,
- 写得这个小事件咋的不能响应了?
- access +jsp 模糊查询
- java调用串口时产生的问题
- 关于drag-and-drop的问题
- 替换尾部html标签部分,这个正则表达式该怎么写?
- 我觉得MySQL是业余编程爱好者的最佳数据库软件。
- 一个困扰着我让我无法深入学习的障碍,应该是简单的,可是一时找不出解决办法。
- private static final对象也被回收了?
- for循环嵌套问题。
因为默认包的类没有包名, 在被有包结构的类引用时,会被当成本包内的类。即编译器会在comm包下查找helloworld类,自然是找不到的。而由于没有包名,也无法使用import导入。
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到此解决该问题