1.一个编辑单元(。Java)文件,假设其中包含一个public类和2个别的类,用javac编译后是不是会生成一个public类。class、两个另外的类。class?
2.那个【package 包名;】语句是不是只是一种表示,表示这个。java文件在包名里边,而实际上不在这个包里也可以?书上说
虚拟机运行时是会查系统变量 为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹 ?
2.那个【package 包名;】语句是不是只是一种表示,表示这个。java文件在包名里边,而实际上不在这个包里也可以?书上说
虚拟机运行时是会查系统变量 为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹 ?
会的2.那个【package 包名;】语句是不是只是一种表示,表示这个。java文件在包名里边,而实际上不在这个包里也可以?
可以,不过使用这个类的时候可能会报找不到类,因为该.java文件被编成成.class的时候,class里是带有包信息的,也就是说class文件你可以随便拷贝到任何文件夹,但是不保证class能正常使用书上说
虚拟机运行时是会查系统变量 为什么我的系统变量中那个classpath是f:\Java;但我电脑里f盘却没Java这个文件夹 ?
你这个系统变量是怎么来的?可以自己修改这个系统环境变量
2 IDE里面恐怕你怎么写package,java文件就必须在那个路径下,这也是提倡的做法
如果你非得搞这些 徒手的话,如果你java随便找个地方写了,那么你在编译时需要加上编译选项 比如 javac -d . HelloWorld.java 这样,编译器就会把.class文件扔到对应的路径中 然后再运行,比如 java a.b.HelloWorld
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文件呢?
关于这个问题,classpath前面是不是有一个. 这个点表示当前目录。
classpath也是一样,每个;表示一个搜索路径
jvm在每个搜索路径中寻找匹配的程序并执行
你看看PATH中有没有你的JDK路径/bin
你运行class是,开控制台上显示的路径就是当前路径。
比如D:\>java .\1.class
这个.就表示D:\