当前课程知识点:Java程序设计 >  第二章 类与对象 >  2.2-4-包 >  2.2-4-包

返回《Java程序设计》慕课在线视频课程列表

2.2-4-包在线视频

2.2-4-包

下一节:2.2-5-类的访问权限控制

返回《Java程序设计》慕课在线视频列表

2.2-4-包课程教案、知识点、字幕

大家好

欢迎回来继续学习

java语言程序设计

这一节我给大家介绍包

什么是包呢

包我们可以认为

它是一组类的集合

一个包中呢可以包含多个类

多个类文件

还可以再包含多个子包都可以

包的作用呢

一方面是将相关的源代码文件

组织在一起

另外呢他还有一个类名的

命名空间的管理

因为当我们程序

规模比较大的时候

并且呢还要用到很多

(域地域库)的时候

那么那么多名字

他们之间会不会发生重名呢

重名是很可能发生的

为了避免重名

我们可以利用包

来划分名字空间

将一组一组功能相关

或者是由同一个机构开发的

这种类呢

放在各个不同的包里面

不仅如此

在java里面

包还提供了一级

封装以及存取权限的控制

现在我们来看包怎么命名

每个包的名字呢

他必须是独一无二的

也就是说我们用这个包

是为了解决命名空间的问题

那么如果连包名都重了

那不是一切都是惘然了吗

所以首先我们要保证

包名不重

在java中呢

我们一般来说

使用小写字母

表示包的名字

java为我们建议的命名方式呢

是将机构的Internet域名

进行返序作为包名的前导

因为Internet域名

它是独一无二的

那这样的话呢

你的包名的前导

就是唯一的了

那么如果包名中

有任何不可以用于

标识符的这种字符

怎么办呢

我们可以用下划线替代

如果包名中的任何部分

与你定义的关键字冲突了

那么我们就把

这部分的后缀给下划线

如果包名中的任何部分

他是以数字或者其他的

不能用作标志符的

这个字符开头的

那么我们就可以

前缀一个下划线

作为开头

在java程序中呢

是将一个java语言文件

称作一个编译单元的

一个编译单元呢

由三部分组成

首先最开头是所属包的声明

那么在前面很多例题中

我们看到没有声明属于什么包

也就是省略了

省略了的话呢

就都属于默认包

然后呢是引入包的声明

如果你需要

使用其他包里面的类呢

可以用import来导入

然后接下来

才是你自己定义的类和接口

一个编译单元中

只能有一个public类

那这个类的类名

与文件名必须是相同的

那么编译单元中的其他类呢

往往是public类的辅助类

所以呢那些其他的类

如果你要放在同一个文件里面

它必然是起辅助作用

如果它也要独立的

对外提供服务

不是起辅助作用的

那你就不要与

另外一个public类

放在一个文件里面

因为它不能存在

两个public类

那些辅助的类呢

就不加public类

我们叫它缺省的(英文)类

那它就是在这个内部

起辅助作用

但是经过编译以后

每个类都会产生一个

独立的后缀class的文件

即使你是编译单元中

非public那个类

它也会独立的

生成一个class文件

那首先我们来看

怎么声明一个包

就用package这个关键字

package后面跟上

我们自己的包名

就可以了

那么默认包呢

实际上就是未命名的包

所有不含有包声明的

编译单元

都放到默认包里面去了

那么包与目录有什么关系呢

有很直接的关系

每个包他都对应一个目录

也就是文件夹

但是每个目录

不见得对应一个包

我们要引入包

是为了使用包里面

提供的这些类

这时候需要用import语句

来引入

我们前面写的一些简单程序

没有引入

那么他也可以运行

也可以用系统库里面的内容

其实系统库里面

很多常用的内容呢

都放在java点lang

这个包里面了

java的编译器

会自动为所有的程序

引入java点lang这个包

那么如果我们需要引入

更多的其他的包呢

就需要我们自己写import

我们可以写import

这个包名

这个包名呢可以是多级

我们说了Internet域名的返序

那不就什么点什么点什么多级

如果你要引入这个包里面的

某个类名

你就在最后把类名写在这

如果你要引入

这个包里面的所有的类

你可以使用星号

我们在上一节中

学习的静态成员

如果我们要在内外

使用一个类的静态成员的话

怎么用呢

我们要用类名点静态方法名

这样来使用对吧

如果我们大量的使用

某些静态方法的话

老带着类名

其实也挺累赘的

能不能简单点儿

不带着类名呢

就像我们在C语言中

去用一个函数一样

我直接写它的函数名

可不可以呢

如果想这样做的话呢

也有办法

这就是静态引入

静态引入

可以是单一引入

也可以全体引入

单一引入呢

指的是引入类中的某一个

指定的静态成员

比如说我们就引入

java点lang点math

里面的静态成员π这个常量

可不可以呢

我们就这样import static

这样引入就可以了

如果我们想引入

里面的所有静态成员

我们最后就用一个星号就行了

那我们看这个例子

引入了这个静态成员π以后

我们在程序中

就可以直接使用π了

就不用再带他的类名了

这样就方便了很多

Java程序设计课程列表:

第一章 Java语言基础知识

-1.0-导学

--1.0-导学

--JDK的安装与配置01

--JDK的安装与配置02

--JDK的安装与配置03

--编辑并执行第一个java程序01

--编辑并执行第一个java程序02

--编辑并执行第一个java程序03

--eclipse的安装和配置01

--eclipse的安装和配置02

--eclipse的安装和配置03

--使用eclipse进行Java的开发01

--使用eclipse进行Java的开发02

--使用eclipse进行Java的开发03

-1.1-Java与面向对象程序设计简介

--1.1.1 Java与面向对象程序设计简介

--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介

-1.2-基本数据类型与表达式

--1.2.1-基本数据类型与表达式

-第一章 Java语言基础知识--1.2-基本数据类型与表达式

-1.3-数组

--1.3.1-数组

-第一章 Java语言基础知识--1.3-数组

-1.4-算法的流程控制

--1.4.1-算法的流程控制

--第一章 Java语言基础知识--1.4-算法的流程控制

-1.5-第一章小结

--1.5.1-第一章小结

-第一章编程练习题

-课件

--外部链接

第一章续-习题讲解视频

-Java环境配置、Eclipse使用、Helloworld程序详解

--JAVA的安装和配置

--编写并执行第一个Java程序及Java的跨平台性

--eclipse的安装和配置

--使用eclipse建立Java项目、编写和运行Java程序

--Java注释和Eclipse中的注释操作

--详解HelloWorld程序

-Java数据类型

--Java数据类型介绍

--Java整数类型

--Java浮点类型

--Java字符类型和布尔类型

--数据类型实战

--数据类型转换

--Java强制类型转换精度损失示例与表达式中的数据类型转换

-Java数组

--Java数组介绍、声明与使用

--一维数组的初始化与length属性

--数组索引的原理与使用

--二维数组的介绍与使用

-Java变量

--Java的变量

-命令行参数

--命令行参数的介绍

第二章 类与对象

-2.0-导学

--2.0-导学

-2.1-面向对象方法的特性

--2.1-面向对象方法的特性

--第二章 类与对象--2.1-面向对象方法的特性

-2.2-1-类声明与对象创建

--2.2-1-类声明与对象创建

--第二章 类与对象--2.2-1-类声明与对象创建

-2.2-2-数据成员

--2.2-2-数据成员

--第二章 类与对象--2.2-2-数据成员

-2.2-3-方法成员

--2.2-3-方法成员

--第二章 类与对象--2.2-3-方法成员

-2.2-4-包

--2.2-4-包

--第二章 类与对象--2.2-4-包

-2.2-5-类的访问权限控制

--2.2-5-类的访问权限控制

--第二章 类与对象--2.2-5-类的访问权限控制

-2.3-1-对象初始化

--2.3-1-对象初始化

--第二章 类与对象--2.3-1-对象初始化

-2.3-2-内存回收

--2.3-2-内存回收

--第二章 类与对象--2.3-2-内存回收

-2.4-枚举类

--2.4-枚举类

--第二章 类与对象--2.4-枚举类

-2.5-应用举例

--2.5-应用举例

-2.6-第2章小结

--2.6-第2章小结

-第二章编程练习题

-课件

--第二章课件

第三章 类的重用

-3.0-导学

--3.0-导学

-3.1.1-3.1.2-类继承的概念和语法

--3.1.1-3.1.2-类继承的概念和语法

--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法

-3.1.3-隐藏和覆盖

--3.1.3-隐藏和覆盖

--第三章 类的重用--3.1.3-隐藏和覆盖

-3.2-Object 类

--3.2-Object 类

--第三章 类的重用--3.2-Object 类

-3.3-终结类与终结方法

--3.3-终结类与终结方法

--第三章 类的重用--3.3-终结类与终结方法

-3.4-抽象类

--3.4-抽象类

--第三章 类的重用--3.4-抽象类

-3.5-泛型

--3.5-泛型

--第三章 类的重用--3.5-泛型

-3.6-类的组合

--3.6-类的组合

-3.7-小结

--3.7-小结

-第三章编程练习题

-课件

--课件

第四章 接口与多态

-4.0-导学

--导学

-4.1-接口

--接口

--第四章 接口与多态--4.1-接口

-4.2.1-4.2.2-类型转换

--类型转换

--第四章 接口与多态--4.2.1-4.2.2-类型转换

-4.2.3-方法的查找

--方法的查找

--第四章 接口与多态--4.2.3-方法的查找

-4.3-多态的概念

--多态的概念

--第四章 接口与多态--4.3-多态的概念

-4.4-多态的应用举例

--多态的应用举例

--第四章 接口与多态--4.4-多态的应用举例

-4.5-构造方法与多态性

--构造方法和多态性

--第四章 接口与多态--4.5-构造方法与多态性

-4.6-本章小结

--本章小结

-第四章编程作业

-课件

--课件

第五章 输入输出

-5.0-导学

--5.0-导学

-5.1.1-5.1.2-异常处理的概念

--5.1.1-5.1.2-异常处理的概念

--第五章 输入输出--5.1.1-5.1.2-异常处理的概念

-5.1.3-5.1.5-异常的处理

--5.1.3-5.1.5-异常的处理

--第五章 输入输出--5.1.3-5.1.5-异常的处理

-5.2-输入输出流的概念

--输入输出流的概念

--第五章 输入输出--5.2-输入输出流的概念

-5.3.1-写文本文件

--写文本文件

--第五章 输入输出--5.3.1-写文本文件

-5.3.2-读文本文件

--读文本文件

--第五章 输入输出--5.3.2-读文本文件

-5.3.3-写二进制文件

--写二进制文件

--第五章 输入输出--5.3.3-写二进制文件

-5.3.4-读二进制文件

--读二进制文件

-5.3.5-File类

--File类

-5.3.6-处理压缩文件

--处理压缩文件

-5.3.7-对象序列化

--对象序列化

-5.3.8-随机文件读写

--随机文件读写

-5.4-本章小结

--本章小结

-课件

--课件

第六章 对象群体的组织

-6.0-导学

--导学

-6.1-Java集合框架介绍

--Java集合框架介绍

--第六章 对象群体的组织--6.1-Java集合框架介绍

-6.2-主要接口及常用的实现类

--6.2-主要接口及常用的实现类

--第六章 对象群体的组织--6.2-主要接口及常用的实现类

-6.3-常用算法

--常用算法

-6.4-数组实用方法

--6.4-数组实用方法

-6.5-基于动态数组的类型(Vector, ArrayList)

--基于动态数组的类型(Vector, ArrayList)

-6.6-遍历Collection

--遍历Collection

-6.7-Map接口及其实现

--Map接口及其实现

-6.8-第6章小结

--第6章小结

-课件

--课件

第七章 图形用户界面

-7.0-导学

--导学

-7.1-绘图

--绘图

-7.2-Swing基础

--Swing基础

-7.3-Swing的层次

--Swing的层次

-7.4-布局管理

--布局管理

-7.5-内部类

--内部类

-7.6-事件处理的基本概念

--事件处理的基本概念

-7.7-事件派发机制

--事件派发机制

-7.8-顶层容器

--7.8-顶层容器

-7.9-中间层容器(一)

--7.9-中间层容器(一)

-7.10-中间层容器(二)

--7.10-中间层容器(二)

-7.11-原子组件(一)

--7.11-原子组件(一)

-7.12-原子组件(二)

--7.12-原子组件(二)

-7.13-原子组件(三)

--7.13-原子组件(三)

-7.14-其它Swing特性

--7.14-其它Swing特性

-7.15-第7章小结

--7.15-第7章小结

-课件

--课件

2.2-4-包笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。