前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第二阶段-Java面向对象:【第六章 包】

第二阶段-Java面向对象:【第六章 包】

作者头像
BWH_Steven
发布2019-08-09 15:52:38
3710
发布2019-08-09 15:52:38
举报
文章被收录于专栏:理想二旬不止理想二旬不止

6.1

包的基本概述

起因:

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

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

(1) 概念:

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

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

(2) 作用:

A:区分同名的类

B:对类进行分类管理

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

b:按照模块分

(3) 包的定义:
代码语言:javascript
复制
package 包名;
 //多级包用.分开
(4) 注意:

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

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

(5)带包的编译和运行

掌握——自动式(Dos中)

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

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

6.2

导包

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

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

格式:
第一种:
代码语言:javascript
复制
//导入单个(推荐)
 import 包名;

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

第二种:
代码语言:javascript
复制
//导入java.io下的所有类(不推荐)
 import java.io.*

注意:

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

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

作用:

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

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

我们可以

代码语言:javascript
复制
import java.io.BufferedReader
 BufferedReader in = new BufferedReader(new FileReader("foo.in"));

如果没有使用import导包

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

代码语言:javascript
复制
java.io.BufferedReader in = new java.io.BufferedReader(new FileReader("foo.in"));

6.3

权限修饰符

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 理想二旬不止 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 起因:
    • (1) 概念:
      • (2) 作用:
        • (3) 包的定义:
          • (4) 注意:
            • (5)带包的编译和运行
              • 格式:
                • 第一种:
                • 第二种:
              • 作用:
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档