第七章

7.1 包的基本概述

起因:

在我们设计一个程序的时候(尤其是多人合作),会写一些类来实现功能,但是往往会有重名的现象发生,为了解决这个问题,则专门设计了包。(还有其他作用,下述)

简单理解:不同的城市之间存在相同名字的小区,用城市名则可以区分这些重名小区,城市名就可以理解为上面的包,小区则可以看做是重名的类,通过这个前缀,解决了重名问题。

(1) 概念:

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

其实可以理解为就是文件夹,并且使用了树形目录的存储方式。

(2) 作用:

A:区分同名的类

B:对类进行分类管理

​ a:按照功能分——把功能相似或者相关的类或接口组织在同一个包中

​ b:按照模块分

(3) 包的定义:

package 包名;
//多级包用.分开

(4) 注意:

A:package语句必须在文件中的第一条有效语句

B:在一个java文件中,只能有一个package

(5)带包的编译和运行

掌握——自动式(Dos中)

javac -d . xxx.java
//可以使用 *.java代表当前目录下的所有源文件 //运行:
java 包名.HelloWorld

在ecplise、ideal等IDE中会自动的生成包名的结构

7.2导包

当你需要使用一个包中的成员的时候,我们就需要在 java 程序中导入该包

如果两个类在同一个包中,则不必导包

格式:

第一种:
//导入单个(推荐)
import 包名;

注意:我们用谁就导谁。(尽量少用星号* 如下)

第二种:
//导入java.io下的所有类(不推荐)
import java.io.*

注意:

//前两句是否能用最后一句代替
import java.lang.*;
import java.io.*; import java.*;//无法代替上面两句,只能指向到单层的包中

注意:使用java.lang下的内容是不用导包的,具体可以查看 jdk-api

作用:

使用某一包中对应成员,并且简化书写

例如我们想使用java.io包下的BufferedReader

我们可以

import java.io.BufferedReader
BufferedReader in = new BufferedReader(new FileReader("foo.in"));

如果没有使用import导包

我们在使用java类库的时候,就需要写出该类的全路径名称,明显代码过于冗长

java.io.BufferedReader in = new java.io.BufferedReader(new FileReader("foo.in"));

7.3 权限修饰符

看完包的基本概念,我们也就理解了当初所讲权限修饰符的问题

本类 同一个包下 不同包下的子类 不同包下的无关类
public Y Y Y Y
protected Y Y Y
默认 Y Y
private Y
这四种权限修饰符在任何情况下只能出现一种

结尾:

如果内容中有什么不足,或者错误的地方,欢迎大家给我留言提出意见, 蟹蟹大家 !_

如果能帮到你的话,那就来关注我吧!(系列文章均会在公众号第一时间更新)

在这里的我们素不相识,却都在为了自己的梦而努力 ❤

一个坚持推送原创Java技术的公众号:理想二旬不止

Java包的基本概述

Java包的基本概述的更多相关文章

  1. JAVA之旅(十一)——RuntimeException,异常的总结,Package,jar包,多线程概述

    JAVA之旅(十一)--RuntimeException,异常的总结,Package,jar包,多程序概述 继续JAVA之旅 一.RuntimeException 在Exception种有一个特殊的子 ...

  2. Java 包的概述和讲解

    2017-11-02 22:58:45 包(package):其实就是文件夹. 包的作用是对类进行分类的管理,并且区分不同的类名. 举例: 学生:增加,删除,修改,查询 教师:增加,删除,修改,查询 ...

  3. IBM Developer:Java 9 新特性概述

    Author: 成富 Date: Dec 28, 2017 Category: IBM-Developer (20) Tags: Java (27) 原文地址:https://www.ibm.com/ ...

  4. Java NIO:NIO概述

    Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...

  5. (转载)Java NIO:NIO概述(一)

    Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...

  6. Android 虚拟机Dalvik、Android各种java包功能、Android相关文件类型、应用程序结构分析、ADB

    Android虚拟机Dalvik Dalvik冲击 随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举.不过,其中的一个话题在J ...

  7. 在Eclipse工具里创建maven的web工程,在建立src/main/java包出现The folder is already a source folder.解决

    1. 与创建普通java工程一样,点击右键找到New菜单,在弹出的界面输入maven ---->>点击maven Project------>>点击next 2  进入下一个界 ...

  8. android工程gen目录中R.java包名是怎么确定

    新建一个工程,包名用的com.mythroad.adskiller, 后来觉得不好,又改成com.mythroad.adsinscepter,但是我发现gen下的R.java文件的包名还是原来的com ...

  9. JavaSE复习日记 : java包机制

    这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; ...

随机推荐

  1. 003_软件安装之_Visual Studio 2012

    Visual Studio 2012安装,里面有视频教程,还有秘钥,连接失效联系我 2012版: 链接:https://pan.baidu.com/s/1BRE46cTKJW58YZ3lBFyjMw ...

  2. webservice 概念+测试案例

    webservice的概念?(一句话概括什么是WebService) WebService是一种跨编程语言.跨操作系统平台的远程调用技术.远程调用技术: 远程调用是指一台设备上的程序A可以调用另一台设 ...

  3. CF #589 (Div. 2) D. Complete Tripartite 构造

    这个 D 还是十分友好的~ 你发现这 $3$ 个集合形成了一个环的关系,所以随意调换顺序是无所谓的. 然后随便让 $1$ 个点成为第 $2$ 集合,那么不与这个点连边的一定也属于第二集合. 然后再随便 ...

  4. HDU3076 ssworld VS DDD

    嘟嘟嘟 友情提示:数据把\(hp1\)和\(hp2\)弄反了! 进入正题. 这题还是比较好想,令\(dp[i][j]\)表示第一个人赢了\(i\)场,第二个人赢了\(j\)的概率,转移就是分别考虑这一 ...

  5. Java分布式互联网架构/微服务/高性能/springboot/springcloud2018年10月16日直播内容

    2018年10月16日直播内容 架构师揭秘springboot对springmvc的自动配置原理 直播地址:https://ke.qq.com/course/179440?tuin=9b386640 ...

  6. bash 基础之五 条件测试、read

    一 条件选择if语句 顺序执行:逐条运行: 选择执行: 代码有一个分支:条件满足时才会执行: 两个或以上的分支:只会执行其中一个满足条件的分支: 循环执行:代码片断(循环体)要执行0.1或多个来回: ...

  7. elasticsearch各种服务链接

    查看elasticsearch信息http://localhost:9200/ 查看某个索引信息http://localhost:9200/index_name例如:http://localhost: ...

  8. 一文教你读懂Python中的异常信息

    正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...

  9. New in Python 3.8.0

    Python 3.8.0 发布时间: Oct. 14, 2019 这是一个Python3.8.0的稳定发行版. Python3.8.0是最新的Python编程语言发行版,ta包含了许多新的特征和优化. ...

  10. spring boot 原理解析一(spring boot 基础特征)

    spring boot 提供了完整的介绍 文档:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/documen ...