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

包(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. 【JZOJ4817】【NOIP2016提高A组五校联考4】square

    题目描述 输入 输出 样例输入 3 4 1 1 0 1 0 1 1 0 0 1 1 0 5 1 1 2 3 2 1 3 2 3 2 3 4 1 1 3 4 1 2 3 4 样例输出 1 1 1 2 2 ...

  2. python 异常层级

  3. UVA_494:Kindergarten Counting Game

    Language: C++ 4.8.2 #include<stdio.h> #include<ctype.h> int main(void) { int ch; int wor ...

  4. asp 与php 的不同之处

    1.asp语句完成后不用加逗号:php要: 2.asp连接字符窜是用&:php用.; 3.asp需要用dim声明变量才能使用:php不用: 4.asp数组用(),php用[]; 5.asp的条 ...

  5. LightOJ 1370 Bi-shoe and Phi-shoe【欧拉函数 && 质数】

    题目链接: http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1370 题意: 给定值,求满足欧拉值大于等于这个 ...

  6. 2019-10-22-Roslyn-打包自定义的文件到-NuGet-包

    title author date CreateTime categories Roslyn 打包自定义的文件到 NuGet 包 lindexi 2019-10-22 19:45:34 +0800 2 ...

  7. shell爬虫

    #!/bin/bash curl_str='curl -x "http://http-pro.abuyun.com:9010" --proxy-basic --proxy-user ...

  8. Top 10 Free IT Certification Training Resources

    1. Cybrary Cybrary takes the open source concept and applies it to IT training. Many of the courses ...

  9. oracle中=>是什么意思呢?

    => 是 Oracle 中调用 存储过程的时候, 指定 参数名进行调用.一般是, 某些参数有默认值的时候,你需要跳过某些参数来进行调用.下面是具体的例子. 参数的默认值SQL> CREAT ...

  10. js随即数字random实现div点击更换背景色

    需求:点击按钮随机给盒子换背景色 用到的知识点:Math.random    Math.round 文章地址 https://www.cnblogs.com/sandraryan/ <!DOCT ...