java包有两种导入机制
单类型导入
import java.lang.Object;
这个比较好理解
2. 按需类型导入
import java.lang.*;
这个不是把lang下面的所有的类都导入进来,而是需要哪个类就导哪个进来
如果不用IDE的话,就知道java编译过程怎么查找类文件了
我们随便在一个文件夹下建立一个文件夹com,进去之后在建立一个文件夹interfaceclass,然后建立一个call.java文件
就是这样
然后编写Call.java
// Call.java
package com.interfaceclass
public interface Call{
public void call();
}
然后退出到和com同级的文件夹下,建立Dog.java
这样
编写Dog.java
// Dog.java
import com.interfaceclass.*;
public class Dog implements Call{
public void call(){
System.out.println("Wang Wang!");
}
public static void main(String[] args){
Dog dog = new Dog();
dog.call();
}
}
编译运行 ,结果如下
运行成功。
遇到了一个问题,如果目录是这样的 :
–com
—-interfaceclass
——Call.java
–animals
—-Dog.java
这该怎么导包?
可以想一下java.lang.Object是怎么找到的,它是通过环境变量中的classpath找到的这个类,而javac命令中有一个选项-classpath,那么就可以通过指定路径的方式来找到Call
命令是:
javac -classpath .. Dog.java
java -classpath .. Dog