在DOS下怎么运行有包名的java源文件

首先,我们先来了解有包名的类的存储目录

如果一个类有包名,那么我们就不能任意位置存放它,不然虚拟机将无法加载它。如果程序使用了如下的包语句:

package cn.edu;

那么,存储文件的目录结构中必有如下的结构:······\cn\edu,例如:E:\test\cn\edu,并且要将源文件编译得到的字节码文件保存在E:\test\cn\edu 中,(源文件可以任意存放)。如果源文件保存在E:\test\cn\edu 中,那么编译后得到的字节码文件就会默认地保存在E:\test\cn\edu 中。

编译源文件:E:\test>javac cn\edu\源文件

运行主类:E:\test>java cn.edu.主类名   (使用了包名,运行时就必须写主类的全名:“包名.主类名”)

下面我用个例子来演示:

新建文件夹,如:

在E盘建一个test文件夹,在test下建一个cn文件夹,在cn下建一个edu文件夹。

在edu的文件夹里放置java源文件

package cn.edu;
public class Student{
    int number;
    Student(int n){
	number=n;
    }
    void speak(){
	System.out.println("我是一名学生,学号是"+number);
    }

}
package cn.edu;
public class Test{
    public static void main(String args[]){
	Student stu=new Student(111111);
	stu.speak();
	
    }

}

进入cn\edu的上层目录test中编译

方法一:

E:\test>javac cn\edu\Student.java
E:\test>javac cn\edu\Test.java

 

方法二:进入 E:\test\cn\edu 目录中,使用通配符 “ *”编译所有的源文件

E:\test\cn\edu>javac *.java

 

方法三:不需要新建 cn 和 edu 这两个文件夹,将源码放在test文件夹下。

E:\test>javac -d . *.java

执行该命令自动生成子目录。

方法一、方法二编译后结果如下:

方法三编译后结果如下:

运行:必须到 cn\edu 的上一层目录test中来运行。

E:\test>java cn.edu.Test

运行的结果:我是一名学生,学号是111111

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值