有关package和import

***eclipse中 不同的package相互调用类的时候要import
带package的文件在cmd中编译时 一定要用-d 才能带有包的性
javac -d 生成路径 java源文件路径
运行的时候
java package后面设定的包名 (千万不要加其他的前缀,否则会找不到类)*

我在一个d:\acm.\src中保存了一个叫Example1.java

package hehehehehe.haha;//表示将example1存在hehehehehe.haha里面 ps:只能用.不能用\

public class Example1{

  public void haha(){

   System.out.println("hahahehe");

}
}

D:\acm\src>javac -d d:\ Example1.java

D:\acm\src>java Example1 错误: 找不到或无法加载主类 Example1

D:\acm\src>
这时在d:中会自动生成包 包的最内层是Example1.class文件

然后我在d:写了一个main 要调用example1

import hehehehehe.haha.*;
public class Main{
public static void main(String args[]){

    Example1 A=new Example1();
     A.haha();
    System.out.println(A);
}
}
调用时

> javac TestCircle.java
上面的命令会报错,提示找不到类com.yyy.Circle,所以我们需要告诉编译器该类的位置。通过选项-cp(-classpath)可以指定类路径的位置(这个路径是包所在的根目录,而不是包中类的目录。通过这个根目录,java会自动查找包中的类)。


javac -cp ./classes TestCircle.java
通过-cp指定类路径以后,可以顺利编译通过了,但是如果我们直接执行生成的class文件,还是会出现问题:


java TestCircle
上面的命令会报错,提示找不到类com.yyy.Circle,所以我们需要告诉命令哪里可以找到这个类,跟上面一样,给出这个类所在的位置,也就是类路径:


java -cp ./classses TestCircle

[来自于](http://www.cnblogs.com/now-fighting/p/4715432.html)
----------
所以是

D:\>javac -cp d: Main.java

D:\>java -cp d: Main
hahahehe
hehehehehe.haha.Example1@2a139a55
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值