Java包的基本概述

Posted ideal-20

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java包的基本概述相关的知识,希望对你有一定的参考价值。

第七章

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的nio包的SelectionKey,Selector,SelectableChannel三者的缠绵关系概述

(转) Java中的负数及基本类型的转型详解

JAVA-初步认识-第十二章-面向对象(包的概述)

Java多线程概述及创建

Java之包及内部类

Java基础十