当代码量越来越大,类越来越多。尤其会增加同名类的风险。所以对类进行管理就显得非常重要。

包(package)机制是java中管理类的重要手段。

包名的命名方式:业内默认的做法是使用公司的网络域名的倒写来当做包名。

java中的包也起到命名空间的作用。相同命名空间不允许存在同名的类,不同的命令空间可以存在同名的类。

在一个源文件中要引用其他类的话,可以使用关键字import

以一言概之,java中"包"的引入的主要原因是java本身跨平台特性的需求。

因为java中的所有的资源也是以文件方式组织,这其中主要包含大量的类文件需要组织管理。

java中同样采用了目录树形结构。

虽然各种常见操作系统平台对文件的管理都是以目录树的形式的组织,

但是它们对目录的分隔表达方式不同,为了区别于各种平台,java中采用了"."来分隔目录。

一个java文件可以写多个类,但是只能有一个public的类,并且public class的类名要与文件名一致!

其他的类属于default类,当然还有匿名内部类;

然后这些java文件又是以目录的形式组织在一起。

如果要引用其中的某个类,则需要使用如下格式即可:

就拿android.util.Log来分析一下:Log是我们要引用的一个类;

android和util都是一层一层的目录,在包机制下可以理解成包;

接下来去文件夹里找找Log类在哪?

可以发现原来Log.java里面定义了Log类,然后Log.java文件存在于如下路径中:

C:\android-sdk-windows\sources\android-29\android\util

android.util就是我们import时候使用的包,和子包名称。

那么前半部分就可以理解是我们查找包的路径环境变量:C:\android-sdk-windows\sources\android-29

这个android包是android-29提供的。

=======================================================

相关链接:

完全掌握java中的包机制:https://www.xuebuyuan.com/1633256.html

浅析java中的package机制:https://www.jianshu.com/p/8314a8a5351d

Android5_浅谈Java的package机制的更多相关文章

  1. 浅谈Java的反射机制和作用

    浅谈Java的反射机制和作用 作者:Java大师 欢迎转载,转载请注明出处 很多刚学Java反射的同学可能对反射技术一头雾水,为什么要学习反射,学习反射有什么作用,不用反射,通过new也能创建用户对象 ...

  2. 浅谈java垃圾回收机制

    今天看thinking in java,里面很详细的谈到java垃圾回收器机制,看完后让我对这神秘的区域有一定的了解,特写一些小总结记录下来. 分两点来说. 第一点:Object.finalize() ...

  3. 浅谈Java多线程同步机制之同步块(方法)——synchronized

    在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰的方法或者代码块,解决了资源共享.下面代码示意三个窗口购5张火车票: package com.jikexueyuan.t ...

  4. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  5. 浅谈Java中的深拷贝和浅拷贝(转载)

    浅谈Java中的深拷贝和浅拷贝(转载) 原文链接: http://blog.csdn.net/tounaobun/article/details/8491392 假如说你想复制一个简单变量.很简单: ...

  6. 浅谈Java中的深拷贝和浅拷贝

    转载: 浅谈Java中的深拷贝和浅拷贝 假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(bool ...

  7. 【转】浅谈Java中的hashcode方法(这个demo可以多看看)

    浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native i ...

  8. 浅谈Java的集合框架

    浅谈Java的集合框架 一.    初识集合 重所周知,Java有四大集合框架群,Set.List.Queue和Map.四种集合的关注点不同,Set 关注事物的唯一性,List 关注事物的索引列表,Q ...

  9. 浅谈Java语言中try{}catch{}和finally{}的执行顺序问题

    浅谈Java语言中try{}catch{}和finally{}的执行顺序问题 2019-04-06  PM  13:41:46  1. 不管有没有出现异常,finally块中代码都会执行: 2. 当t ...

随机推荐

  1. 阿里云OSS同城冗余存储技术解析

    一.背景 近年来,面对数字化转型带来的挑战,越来越多的企业开始将关键业务系统上云,也有更多的业务创新在云上,帮助企业实现业务增长,这些数据已经成为企业最重要的资产.资源.对于企业来说,如何确保宝贵的数 ...

  2. F4NNIU 的 KiCad EDA 技巧 (2019-05-09 更新)

    F4NNIU 的 KiCad EDA 技巧 已经慢慢切换到 KiCadEDA 上来画板,优点很多. 开源: 自动推挤: 无限的元件库: 强大的 3D 显示: 这里整理一下个人使用的技巧: 原理图 Ee ...

  3. 快递查询API接口集成,有需要的可以直接用

    适用于涉及经常发货.寄快递的人群.企业.电商网站.微信公众号平台等对接使用.支持国内外三百多家快递及物流公司的快递单号一站式查询. 使用说明: 1.KuadidiAPI.php 不需要修改改任何东西 ...

  4. jQuery 链

    通过 jQuery,可以把动作/方法链接在一起. Chaining 允许我们在一条语句中运行多个 jQuery 方法(在相同的元素上). jQuery 方法链接 直到现在,我们都是一次写一条 jQue ...

  5. 【HAOI2015】树上染色

    [HAOI2015]树上染色 这题思路好神仙啊,首先显然是树形dp,f[i][j]表示在以i为根的子树中选j个黑点对答案的贡献(并不是当前子树最大值),dp时只考虑i与儿子连边的贡献.此时(i,son ...

  6. selenium webdriver学习(五)------------iframe的处理(转)

    selenium webdriver学习(五)------------iframe的处理 博客分类: Selenium-webdriver 如何定位frame中元素  有时候我们在定位一个页面元素的时 ...

  7. oracle 用TRUNCATE替代DELETE

    当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息. 如果你没有COMMIT事务, ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到 ...

  8. ]ubuntu开机自动挂载的ntfs硬盘的权限问题

    原文地址:ubuntu开机自动挂载的ntfs硬盘的权限问题 在linux操作系统中, 挂载是一个非常重要的功能,使用非常频繁. 它指将一个设备(通常是存储设备)挂接到一个已存在的目录上. (这个目录可 ...

  9. js获取当前时间戳以及前一天时间戳

    js获取当前时间戳以及前一天时间戳(毫秒) var timestamp = (new Date()).getTime(); console.log(timestamp);//打印当前时间戳 conso ...

  10. js实现圆形的碰撞检测

    文章地址:https://www.cnblogs.com/sandraryan/ 碰撞检测这个东西写小游戏挺有用der~~~ 注释写的还挺全,所以就不多说了,看注释 这是页面结构.wrap存放生成的小 ...