package

package主要用于管理类,在java中同一个包下不能有相同的类名,可有时项目总会出现很多同名的类,这时就需要通过包来管理类。不同的包下可以有相同的类名。

包就有点类似于文件夹,不同文件夹中可以有相同的文件名,一个文件夹下不能有同名的文件。

包的命名规则一般是域名倒着写,后面再加具体项目名称。

例如京东的就是 cn.jd.123

例如下面位于包cn.hcf.pro3下的TestExtends.java文件和位于包cn.hcf.TestThis包下的TestPackage.java文件中都有Person类,但他们处于不同的包中是可以的。

但当它们位于同一个包下时是不可以的。

2.import

import可以导入其他包的类,但这个类必须是以public修饰的(这个知识点还需要学习后面的访问控制才知道为什么)。

例如下面我在cn.hcf.oo包下的TestEqu中要用TestPackage包下的TestPackage类,就需要用import导入。

如果不导入,在一个包中使用其它包的类,则会出行错误。

 package cn.hcf.oo;

 import TestPackage.*; //包后面加*就代表导入TestPackage包中的所有类,也可以单独导入包中的一个类,
//import TestPackage.TestPackage 就代表导入TestPackage包中TestPackage类。
public class TestEqu {
public static void main(String[] args){
TestPackage n = new TestPackage(); }
}

导入还有静态属性的导入,比如在java.lang包下的Math类中有PI(圆周率)这个静态属性。我们使用要这样写,Math.PI,代表使用PI。

我们可以用静态属性的导入, import static java.lang.math.PI;就导入了PI这个静态属性,导入后可以直接写PI,因为该属性已被导入。

还有一个问题,导入时例如我们要使用Date类,在cn.test.1这个包和cn.test.2这两个包中都有Date类,我们导入时这样写

import cn.test.1.Date;

import cn.test.2.*;

那么我们用new = Date()新建一个对象时,优先选择具体导入的类,就是说此时的Date是cn.test.1包中Date;

如果我们既要使用cn.test.1中的Date,也要使用cn.test.2中的cn.test.2中的Date时

即使使用 import导入也会出现错误,因为创建Date时无法识别到底是哪一个包中的Date

这时我们需要写出Date具体的路径。

例如我们两个都要使用时:

cn.test.1.Date D1 = new cn.test.1.Date();

cn.test.2.Date D2 = new  cn.test.2.Date();

最新文章

  1. sqlserver查看所有的外键约束
  2. 正确理解ThreadLocal
  3. MSDN论坛被垃圾信息刷爆了!!!
  4. WPF:父窗口与子窗口的层次关系
  5. Thinking in Java——笔记(7)
  6. UVALive 3942 Remember the Word(字典树+DP)
  7. WCF客户端承载
  8. HTTP请求415错误 – 不支持的媒体类型(Unsupported media type)
  9. 选择问题(选出第i个最小元素)
  10. jQuery 分步引导 插件
  11. 阿里云部署Docker(5)----管理和公布您的镜像
  12. 8.0 BOM对象
  13. 熔断器C#实现
  14. Trick 小记
  15. 浅析如何在Nancy中生成API文档
  16. Android开发之手把手教你写ButterKnife框架(一)
  17. nginx隐藏tp路由index.php
  18. Vue Router学习笔记
  19. 机器学习库--dlib
  20. MySQL Split 函数

热门文章

  1. C++ 智能指针的简单实现
  2. Spring学习之路——单例模式和多例模式
  3. HASHMAP 深入解析
  4. 【BZOJ1101】Zap [莫比乌斯反演]
  5. 汕头市队赛 C SRM 05 - YYL 杯 R1 T3!
  6. bzoj3669: [Noi2014]魔法森林 lct版
  7. UITableView学习之辨析两个方法:⓵dequeueReusableCellWithIdentifier与⓶dequeueReusableCellWithIdentifier:forIndexPath:
  8. 【洛谷 P1651】 塔 (差值DP)
  9. [bzoj2251][2010Beijing Wc]外星联络——后缀数组+暴力求解
  10. django原生sql