1.一个编辑单元(。Java)文件,假设其中包含一个public类和2个别的类,用javac编译后是不是会生成一个public类。class、两个另外的类。class?
2.那个【package 包名;】语句是不是只是一种表示,表示这个。java文件在包名里边,而实际上不在这个包里也可以?书上说
虚拟机运行时是会查系统变量  为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹  ?

解决方案 »

  1.   

    1.一个编辑单元(。Java)文件,假设其中包含一个public类和2个别的类,用javac编译后是不是会生成一个public类。class、两个另外的类。class?
    会的2.那个【package 包名;】语句是不是只是一种表示,表示这个。java文件在包名里边,而实际上不在这个包里也可以?
    可以,不过使用这个类的时候可能会报找不到类,因为该.java文件被编成成.class的时候,class里是带有包信息的,也就是说class文件你可以随便拷贝到任何文件夹,但是不保证class能正常使用书上说
    虚拟机运行时是会查系统变量 为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹 ?
    你这个系统变量是怎么来的?可以自己修改这个系统环境变量
      

  2.   

    1 是
    2 IDE里面恐怕你怎么写package,java文件就必须在那个路径下,这也是提倡的做法
      如果你非得搞这些  徒手的话,如果你java随便找个地方写了,那么你在编译时需要加上编译选项 比如  javac -d . HelloWorld.java  这样,编译器就会把.class文件扔到对应的路径中  然后再运行,比如  java a.b.HelloWorld
      

  3.   

    1.那比如我的系统变量里classpath有两个值   第一个是c:\JAVA     第二个是f:\JAVA      而我们在编辑单元里边写了 
    package com.CSDN    那我们是不是要么把这个编辑单元编译好的类丢c:\JAVA\com\CSDN 里      要么丢f:\JAVA\com\CSDN里   这样这些类才能用  ?这两种都行是吗?
    2.我们刚开始安装那个jdk时不是要设置classpath变量吗 ?为什么我按我系统的变量去找 有个变量名叫JAVA_HOME 值是F:\JAVA     还有个变量名叫CLASSPATH  值是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar     而我的f盘绝对没有JAVA这个文件夹(取消隐藏了)    可是为什么我还能再cmd中用javac 指令来编译。java文件呢?
      

  4.   

    虚拟机运行时是会查系统变量 为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹 ?
    关于这个问题,classpath前面是不是有一个. 这个点表示当前目录。
      

  5.   

    这个可以参考操作系统的搜索路径
    classpath也是一样,每个;表示一个搜索路径
    jvm在每个搜索路径中寻找匹配的程序并执行
      

  6.   

    javac看的是你的PATH环境变量
    你看看PATH中有没有你的JDK路径/bin
      

  7.   

    那个点表示当前目录  。什么当前目录啊?   我昨天查了资料 可是  上边也像你这么说  就是没说这当前目录是啥  这点指的是安装jdk的目录还是什么啊?        
      

  8.   


    你运行class是,开控制台上显示的路径就是当前路径。
    比如D:\>java .\1.class
    这个.就表示D:\
      

  9.   

    当前目录就是你当前所在的目录,比如说你有在aa文件夹下面有bb.java文件,你在控制台下进入aa,然后敲javac bb.java就会编译出相应的class文件来,这些class文件会放在aa里,然后你敲java bb,虚拟机会从当前目录开始找class文件,这个当前目录就是指aa好像是这样