Java package和import语句

Java中的package和import语句


  • 若是你想让其余人访问你的类,你必定要把你写的类放到正确的子目录下。
  • 在Java里,对于位于包中的类是这样管理的:
  • Java编译器把包对应于文件系统的目录管理,package语句中用 "."来指明包(目录)的层次。好比:
package com.sxt;
    //该文件中全部的类位于.\com\sxt目录下
  • 两个小程序来验证这个过程
//先定义一个类Cat
package com.bjsxt.java140;

public class Cat
{
    
}
  • 如今咱们新建一个类用来使用这个Cat类
public class Dog
{
    public static void main(String args[])
    {
        Cat c = new Cat();
    }
}
  • 在编译Dog.java时会发现:若是Cat.class不在规定的目录下。编译器会报错:确认Cat这个累是否在正确的目录下。
  • 咱们把Cat.class放到package语句规定的目录下:编译器仍是会报相同的错误,由于从JDK1.5以后有可能Cat的源文件也会产生影响,咱们把Cat.java删掉。
  • 删掉源文件以后咱们再次编译:编译器仍是会报错:不能解析Cat这个符号。由于咱们语句中写的是Cat c = new Cat();java

  • 这表明Cat是一个裸体类,咱们要把他的名字写全:com.bjsxt.java140.Cat c = new com.bjsxt.java140.Cat;
  • 这样子就能够经过编译啦!
  • 总结一下:package写在第一句,编译出来的class文件必须在正确的目录下(和包的层次彻底一致),在另一个文件中使用时名字要写全。
  • 可是话说回来:咱们每次使用Cat这个类时都要写那么长一句话会不会很繁琐?
  • 解决方法:咱们能够在程序开始前用import语句来引入这个类小程序

import com.bjsxt.java140.Cat;    //引入以前写过的Cat类
public class Dog
{
    public static void main(String args[])
    {
        Cat c = new Cat();       //编译器就会认识这个类啦
    }
}
  • 还能够写成
import com.bjsxt.java140.*;     //表明把这个目录下的类所有引入
相关文章
相关标签/搜索