我编写了一个类,用package语句将其放在一个包中。但需要引用时,出现了奇怪的问题:
如果import test.类名 一切正常; 但如果import test.*; 编译出错,提示我无法操作本程序中要用到的包中的类。
*不是表示所有的类吗?为什么会出错?用类名正常,说明路径没有问题。谁遇到过?
如果import test.类名 一切正常; 但如果import test.*; 编译出错,提示我无法操作本程序中要用到的包中的类。
*不是表示所有的类吗?为什么会出错?用类名正常,说明路径没有问题。谁遇到过?
解决方案 »
- 高手救救小妹吧,一下午了,就是调不出来,都要疯了,解决立即给分!
- jasperreports是如何控制多个报表批量打印
- 急!百分求文件保存打开问题!
- 关于如何在JPanel中如何画出指定的图形
- 用RMI和 JDBC实现来Client/Server ,, 发现一些问题。。不知怎么解决?小妹在线等候!!谢谢!
- 求教关于计算时间差,多谢
- 谁的分掉在地上了?快来捡呀!--哪里有详细介绍编写JAVA Bean组件的电子书下载?技术文档也行!
- 关于Web Logic
- 有点难度的sql语句
- 关于weblogic5.1
- 请问哪里可以找到Notes API for java ?急需!!!
- 招聘JAVA高手和J2EE程序员(杭州中导科技开发有限公司)
(*)不行.汗!!!
package test;public class PrimNumber
{
public static void main(String args[])
{
int sum=0,i,j;
for( i=1;i<=10;i++) //找出10以内的素数.
{
for(j=2;j<=i/2;j++)
{
if(i%j==0)
break;
}
if(j>i/2) System.out.print(" 素数 "+i);
}
}
}Hello.java 如下:
import test.PrimNumber; /*写成 import test.*; 就编译出错,说cann't access PrimNumber,说什么类文件坏了之类的错误。但单独执行PrimNumber没错,而且强行import也对,问题很怪异呀,是jdk的吗?*/
public class Hello
{
public static void main(String args[])
{
PrimNumber num=new PrimNumber();
String a[]={"ok"};
System.out.println(a[0]);
num.main(a);
}
}
Hello.java 与test目录在同一层次,肯定没问题。
强制指定类名没错呀,而且如果用jdk的包,用*也可以,单单自定义包不行。
的方式来调用PrimNumber.java中的main,你改成这样试试:
import test.*;//或者import test.PrimNumber;都可以
public class Hello
{
public static void main(String args[])
{
//PrimNumber num=new PrimNumber();
String a[]={"ok"};
System.out.println(a[0]);
PrimNumber.main(a);
}
}
public class Hello
{
public static void main(String args[])
{
PrimNumber num=new PrimNumber();
String a[]={"ok"};
System.out.println(a[0]);
num.main(a);
}
}请给上面这个类也打个包
我刚用MyEclipse 5.0下用
import test.*;引入
都好使。输出如下:
ok
素数 1 素数 2 素数 3 素数 5 素数 7
可能是你的环境问题。
这是为什么呢?不写,不就是无名包吗? 如果要调用自己定义的包,最好调用文件也属于一个包吗?