博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java package和import语句
阅读量:4985 次
发布时间:2019-06-12

本文共 1080 字,大约阅读时间需要 3 分钟。

Java中的package和import语句

1092957-20171114002117406-1877738676.png

1092957-20171114002330452-2116749366.png

  • 如果你想让其他人访问你的类,你一定要把你写的类放到正确的子目录下。
  • 在Java里,对于位于包中的类是这样管理的:
  • Java编译器把包对应于文件系统的目录管理,package语句中用 "."来指明包(目录)的层次。比如:
package com.sxt;    //该文件中所有的类位于.\com\sxt目录下
  • 两个小程序来验证这个过程
//先定义一个类Catpackage 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.*;     //代表把这个目录下的类全部引入

转载于:https://www.cnblogs.com/031602523liu/p/7830234.html

你可能感兴趣的文章
解决"disabled". Expected Boolean, got Number with value 0
查看>>
Android 四大组件之Service
查看>>
OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
查看>>
xml.dom.minidom
查看>>
Exponentiation
查看>>
本地jar上传到本地仓库
查看>>
7.14T3
查看>>
四则运算C++带Qt界面版本,吾王镇楼。。。。。
查看>>
各种获取时间的方法包含各类时间格式
查看>>
安卓7.0手机拍照闪退问题解决
查看>>
黑马程序员------IO(一)
查看>>
springcloud的配置
查看>>
ME525+ Defy+ 刷机指南[zz]
查看>>
支持触屏的jQuery轮播图插件
查看>>
Codesmith
查看>>
差一点搞混了Transactional注解
查看>>
javascript基本函数
查看>>
C#转义字符
查看>>
前端公共库cdn服务推荐//提高加载速度/节省流量
查看>>
python openpyxl内存不主动释放 ——关闭Excel工作簿后内存依旧(MemoryError)
查看>>