/ bao .java(文件名)
package java;
class bao1 {
String name;
double ba1;
bao1(String n,double b){
name=n;
ba1=b;}
void show()
{if(ba1<0)
System.out.println( "-->");
System.out.println(name+": s"+ba1);
}
}
class bao {
 public static void main(String args[])
{ bao1 a[]=new bao1[3];
a[0]=new bao1("k.yan",123);
a[1]=new bao1("c.ai",789);
a[2]=new bao1("w.h",123);
for(int i=0;i<3;i++) a[i].show();
}
}
我运行javac和java的时候都出现错误,我的程序是放在java文件夹里面的,请问这样是不是就放在了java包里面?因为我的包名命名为java 请高手指点。

解决方案 »

  1.   

    这样运行试试带上java java.bao1或者javac java.bao1
    还有一个问题如果javac没有通过那么运行该java 。。命令是没有用的
      

  2.   

    试了一下啊,如果当前目录为java文件夹目录那么直接运行javac bao1.java无误
    但是在运行时有误
    java java.bao1
    Exception in thread "main" java.lang.SecurityException: Prohibited package name:
     java
            at java.lang.ClassLoader.preDefineClass(Unknown Source)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$000(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    说明java不允许报名为java
    想想这样是有原因的
    因为Java的类库,都是以java作为包名,如java.lang那么可能产生冲突,所以你这样做是不对的
      

  3.   

    如果要让你的包名可以和java提供的包名相同的话,你不就可以“胡作非为”了嘛。
      

  4.   

    这样运行试试带上java java.bao1或者javac java.bao1 
    还有一个问题如果javac没有通过那么运行该java 。。命令是没有用的
      

  5.   

    class bao1{ 
    String name; 
    double ba1; 
    bao1(String n,double b){ 
    name=n; 
    ba1=b;} 
    void show() 
    {if(ba1 <0) 
    System.out.println( "-->"); 
    System.out.println(name+": s"+ba1); 


     public static void main(String args[]) 

            bao1 a[]=new bao1[3]; 
    a[0]=new bao1("k.yan",123); 
    a[1]=new bao1("c.ai",789); 
    a[2]=new bao1("w.h",123); 
    for(int i=0;i <3;i++) a[i].show(); 

    } 那麻烦你下次发代码的时候注意缩进好吗