• 为了更好地组织类,Java 提供了包(package)机制
  • 这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口(interface)、枚举(enumerations)和注释(annotation)等

一、作用

  1. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
  2. 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
  3. 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

二、创建包

  • 一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。
  • 开发者可以自己把一组类和接口等打包,并定义自己的包。
  • 创建包的时候,你需要为这个包取一个合适的名字。
  • 而在包中的源文件(Java文件),必须要对其所在的包进行包声明

包声明语法:package pkg1[.pkg2[.pkg3...]];

注意:

  1. 一般利用公司域名倒置 作为包名开头。
  2. 创建包之后,如果其他的一个源文件 包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包所提供的内容的引入声明 放在这个源文件的开头
  3. 包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。
  4. 如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。
  5. 将类、接口等类型的源文件放在一个目录中,这个目录要对应类所在的包名,而包名会成为类名的一部分。而编译之后的 .class 文件应该和 .java 源文件一样,它们放置的目录应该跟包的名字对应起来。

示例:

package com.cnblogs.www.conyoo;

public class Blog{}

三、导入包

  • 为了能够使用某一个包的成员,我们需要在 Java 程序中明确导入该包。使用 'import'语句可完成此功能。

导包语法:import pkg1[.pkg2…].(classname|*);

注意:

  1. 在 java 源文件中'import'语句应位于 'package'语句之后,所有类的定义之前,可以没有,也可以有多条。
  2. 如果在一个包中,一个java 源文件中想要使用本包中的另一个类,那么该包名可以省略。
  3. 在 java 源文件中要是要用到其他包下的类,就必须要先导包,或使用类全名描述这个类
  4. 用'import'关键字导包时,结尾使用通配符 '*' , 会导入包下的所有类,不建议使用,影响程序速度。
  5. 在 java 源文件中要是要用到两个类名相同的类,需要使用导包和类全名对这个两个类进行区分

示例:

package com.cnblogs.www.conyoo;

import com.cnblogs.text.Article;
import com.cnblogs.text.Words; public class Blog{
public static void main(String[] args) {
System.out.println(new Article());
System.out.println(new Words());
System.out.println(new com.cnblogs.essay.Words());
}
}

Java基础语法:包机制的更多相关文章

  1. Java学习 (九)基础篇 包机制&JavaDoc

    包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间 包语句的语法为: package pkg[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名:com.feng.x ...

  2. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  3. 02:Java基础语法(一)

    Java基础语法 Java的关键字及保留字 关键字(Keyword) 关键字的定义和特点定义:被Java语言赋予了特殊含义的单词特点:关键字中所有字母都为小写注意事项:1)true.false.nul ...

  4. Java基础语法学习

    Java基础语法学习 1. 注释 单行注释: //单行注释 多行注释: /*多行注释 多行注释 多行注释 多行注释 */ 2. 关键字与标识符 关键字: Java所有的组成部分都需要名字.类名.变量名 ...

  5. java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...

  6. Java基础语法(下篇)

     Java基础语法(下篇) 内容概要:        (1)函数的定义        (2)函数的特点        (3)函数的应用        (4)函数的重载               ...

  7. Java基础语法(上篇)

                     Java基础语法(上篇) 知识概要: (1)关键字的表示与规范       (2)标示符              (3)注释                (4 ...

  8. java基础语法(一)

    java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...

  9. JAVA基础语法——标识符、修饰符、关键字(个人整理总结)

    JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1    什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...

  10. Java基础语法(基本语句)

    Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1.      数字不可以开头2.      不可以使用关键字Java中 ...

随机推荐

  1. Java排序算法(一)冒泡排序

    一.测试类SortTest  import java.util.Arrays; public class SortTest { private static final int L = 20; pub ...

  2. 带撤销并查集 & 可持久化并查集

    带撤销并查集支持从某个元素从原来的集合中撤出来,然后加入到一个另外一个集合中,或者删除该元素 用一个映射来表示元素和并查集中序号的关系,代码中用\(to[x]\) 表示x号元素在并查集中的 id 删除 ...

  3. Codeforces Round #635 (Div. 1)

    传送门 A. Linova and Kingdom 题意: 给定一颗以\(1\)为根的树,现在要选定\(k\)个结点为黑点,一个黑点的贡献为从他出发到根节点经过的白点数量. 问黑点贡献总和最大为多少. ...

  4. [AHOI2009] [BZOJ1799] 月之迷 (数位DP)

    给出两个数a,ba,b,求出\([a,b]\)中各位数字之和能整除原数的数的个数. 我们按照模板的做法来想,枚举到第pos位时,要确定这一位的数字,可以更新现在所填数字的和,但对于最终的和无从得知,是 ...

  5. 最短Hamilton路径(状压dp)

    最短Hamilton路径实际上就是状压dp,而且这是一道作为一个初学状压dp的我应该必做的题目 题目描述 给定一张 n(n≤20) 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 ...

  6. Codeforces Round #631 (Div. 2) D.Dreamoon Likes Sequences

    题目连接:Dreamoon Likes Sequences  题意:给你d和m,让你构造一个递增数组a,使数组b(i==1,b[i]=a[i] ; i>1, b[i]=b[i-1]^a[i])递 ...

  7. hdu5662 YJQQQAQ and the function (单调栈)

    Problem Description YJQQQAQ has an array A of length n. He defines a function fl,r,k where l,r,k are ...

  8. hdu1558 Segment set

    Problem Description A segment and all segments which are connected with it compose a segment set. Th ...

  9. 2.PowerShell概述

    PowerShell PowerShell命令窗一般随系统带着,运行->输入:powershell,即可打开命令窗口. 命令 Powershell有诸多命令,兼容cmd命令 语法和命令 在此我推 ...

  10. JVM调优参数、方法、工具以及案例总结

    这种文章挺难写的,一是JVM参数巨多,二是内容枯燥乏味,但是想理解JVM调优又是没法避开的环节,本文主要用来总结梳理便于以后翻阅,主要围绕四个大的方面展开,分别是JVM调优参数.JVM调优方法(流程) ...