java 命令 编译 运行_java 用命令编译、运行

public class Test{

public void static void main(String[] args){

A a = new A();

a.setValue(10);

System.out.println(a.getValue());

}

}

一.  首先配置java jdk环境

包括环境变量,方便能在任何目录下使用java命令;

二.  代码的编译和运行

对于写Java程序而言,我们主张源文件与class文件都有相同的目录结构,这样不仅会方便代码的组织管理,也使得在编译以及运行Java程序时少犯错误。

举个例子,在src/main目录下新建如下2个类文件;

class A{

private int value;

public A(){

value = 0;

}

public void setValue(int var){

value = var;

}

public int getValue(){

return value;

}

}

public class Test{

public void static void main(String[] args){

A a = new A();

a.setValue(10);

System.out.println(a.getValue());

}

}

注意这2个类文件中没有添加package说明,

编译:

在src/main/ 下,执行javac Test.java,会发现当前目录下生成了Test.class 和A.class

运行:

继续在src/main/ 下,执行 java Test,终端会输出>10,即运行成功

问题:找不到或无法加载主类:

1.不添加package语句,如上,在src/ 目录下,

执行java Test,会报错>错误: 找不到或无法加载主类 main.MyTest

执行 java -classpath main/ MyTest  成功

执行 java main.MyTest,会报错>错误: 找不到或无法加载主类 main.MyTest

2. 对比,在上述2个java文件中都加入,package main;

重新编译,然后再回到src目录下运行 java main.MyTest  成功

总结:

如果Java文件中

没有package语句,则这两个文件同属于一个默认包中(没有显示写package的文件都是属于默认包的)。

Java类发现规则

要想成功编译java文件,需要有classpath和包名的共同配合。

类发现规则:class文件所在目录 = classpath + '\' + 包名中的'.'全变成’\'

运行指定了package程序时,需要显示的写出其包名,即:java packagename.classname,其遵循与class文件一样的寻找规则,即在classpath+packagename中'.'变成'\' 所表示的路径下能够找到相应的classname所指的class文件。

elipse或者IDEA等开发工具中均有classpath配置,开发人员可以配置修改也可以使用默认生成的,我发现一般都默认从src/目录下开始查找类;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值