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();

  • 这代表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.*;     //代表把这个目录下的类全部引入

最新文章

  1. Jesen不等式
  2. CSS3 04
  3. WPF学习之绘图和动画
  4. 第K 小数
  5. Android新浪微博获取评论信息、发表评论、转发微博等
  6. TRANSLATE
  7. Windows server 2012 各版本 激活方法
  8. 匿名函数中undefined形参疑问(转载)
  9. 七、cocos2dx之粒子系统
  10. 用php和imagemagick来处理图片文件的上传和缩放处理
  11. FineUIPro控件库深度解析
  12. yum设置本地源
  13. gulp使用入门
  14. ContentType组件
  15. 浅析Linux服务器集群系统技术
  16. SpringBoot集成RocketMQ
  17. 解决运行wamp提示“MSVCR110.dll”丢失的问题!
  18. iOS进阶学习笔记
  19. 解决文字和text-decoration:underline下划线重叠问题
  20. [总结帖]Web小白的基础恶补帖

热门文章

  1. Java线程池的创建详解
  2. 【转载】jquery实现勾选复选框触发事件给input赋值+回显复选框
  3. 我的Tmux学习笔记
  4. centos7.3 vsftpd 多用户配置
  5. Redis- redis.conf
  6. Facebook 被指收集用户数据:通过照片和文本
  7. 常用MySQL语法
  8. [WebService] 使用httpWebrequest 调用并调试WebService
  9. 更改steam的游戏库
  10. hdu2509Be the Winner(反nim博弈)