我用的是1.6的JDK SUN官网下的:jdk-6u10-rc-bin-b28-windows-i586-p-21_jul_2008.exe
问题一:
用cmd 编译class 文件的时候 出错就出现乱码信息,没出错就正常???????classpath path 设置都正确.
问题二:
classpath里面不加".;" 也能正常编译运行.?????新版本不用加了吗?
问题三:
自定义包的问题:
D:\java\think\test\testa目录下:PrinTemp.java文件如下: package testa;
public class PrinTemp
{public static void main(String[] args)
{System.out.println("Printemp is already done");}
}编译正常.
D:\java\think\test目录下文件:Test.java import testa;
public class Test
{public static void main(String[] args)
{PrinTemp a=new PrinTemp();
}
}
CMD当前为:D:\java\think\test> 编译Test.java出错!!!!??????????
烦了好几天了,请高手帮帮忙吧!
问题一:
用cmd 编译class 文件的时候 出错就出现乱码信息,没出错就正常???????classpath path 设置都正确.
问题二:
classpath里面不加".;" 也能正常编译运行.?????新版本不用加了吗?
问题三:
自定义包的问题:
D:\java\think\test\testa目录下:PrinTemp.java文件如下: package testa;
public class PrinTemp
{public static void main(String[] args)
{System.out.println("Printemp is already done");}
}编译正常.
D:\java\think\test目录下文件:Test.java import testa;
public class Test
{public static void main(String[] args)
{PrinTemp a=new PrinTemp();
}
}
CMD当前为:D:\java\think\test> 编译Test.java出错!!!!??????????
烦了好几天了,请高手帮帮忙吧!
(Test.java 文件是在D:\java\think\test下啊 )
import testa.PrinTemp ;
public class Test
{public static void main(String[] args)
{PrinTemp a=new PrinTemp();
}
}
另外你要先编译PrinTemp ,保证 PrinTemp.class在testa目录下
public class Test
{public static void main(String[] args)
{PrinTemp a=new PrinTemp();
}
}
package testa;
public class PrinTemp {
public PrinTemp(){
System.out.println("Printemp is already done");
}
public static void main(String[] args)
{System.out.println("Printemp is already done");}
}发现如果不使用public PrinTemp(){}并不会打印"Printemp is already done",另外Test.Java和PrinTemp.java同在teata文件夹内,应该可以使用不声明为public的PrinTemp(){}呀?但为什么实际不可以呢?期待高手回答。
CMD:D:\java\think\test>下 输入javac testa\Test.java
CMD:D:\java\think\test>下 输入javac testa\PrinTemp.java
1、因为你还没有创建PrinTemp对象
2、看你两个类的package语句,两个类不是在同一个包下面