我做了以下步骤,然后遇到了麻烦解决不了,还望高手指点一二~:)1。写一个源代码文件生成  exercise.Rectangle类。(exercise是包名)
   保存目录是d:\my_program2。写一个名为Test的源文件,其代码如下:
   import exercise.Rectangle;
   
   class Test
   {
       public static void main(String[] args)
       {
           Rectangle rec=new Rectangle();
        }       
    }
    这时会发生错误,说Rectangle是一个错误的类。但是如果我将Rectangle写
    完整名称exercise.Rectangle,则没有错误。
   
问题:为什么如果是导入 java.io.*;  然后就可以直接利用BufferedReader类直接实例化一个对象呢?但是我的Rectangle类却不能直接实例化一个对象呢?

解决方案 »

  1.   

    把你的类,都放到d:\my_program\exercise就没问题了
    你也说了“exercise是包名”,那就要把这个包建立出来了PS:用IDE写程序的话,会自动帮你建,不过初学的话,不推荐
      

  2.   

    编译的时候会自动建exercise这个文件夹的,用jdk编译也会,和ide没关
      

  3.   

    不知道..是不是没有package exercise 啊
      

  4.   

    我package exercise了然后在cmd里使用javac -d . exercise.java命令生成了包的。(“.”所代表的是 d:\my_program
      

  5.   

    为什么如果是导入 java.io.*;  然后就可以直接利用BufferedReader类直接实例化一个对象呢?
    因为BufferedReader是在java.io.BufferedReader下的,java默认的是java.lang.*下的东东如果你要用BufferedReader必须要引入这个包java.io.BufferedReader恩还有就是你的Test类要放在exercise文件下了