大家好,今天我们来介绍一下包的概念,知道包的作用可以更好的面对今后的开发,那么我们就来看看包是什么东西吧。
6.3封装扩展之包
6.3.1包的概念
在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件包,有点类似于目录,比如:为了更好的管理电脑中的歌曲,一种好的方式就是将相同属性的歌曲放在相同文件下,也可以对某个文件夹下的音乐进行更详细的分类.
在Java中也引入了包,包是对类,接口等的封装机制的体现,是一种对类或者接口等很好的组织方式,比如:一个句中的类不想被其他包中的类使用.包还有一个重要的作用,在同一个工程中允许存在相同名称的类,只要处在不同的包中即可.
6.3.2导入包中的类
java 中已经提供了很多现成同的类供我们使用,例如Date类:可以使用 java.util. Date导入 jnva.util 这个包中的类.
6.3.3自定义包
基本规则
.在文件中的最上方加上一个package语句指定该代码在哪个包中 如 : package demo1;
.包名需要尽量指定成唯一的名字,通常会用公司的域名的颠倒形式例如 :com.bit.demo1
.包名要和代码路径相匹配,例如创建con.bit,demo1的包,那么会存在一个对应的路行com/bit/demo1来存储代码
.如果一个类没有package语句,则该类被放到一个默认包中
操作步骤
1、在IDEA中新创建一个包:右键src→新建→包
2、在弹出的对话框中输入包名,
例如com.bit.demo1
使用java.util.Date导入java.util这个包中的Date类 .
但是上面这种写法麻烦一些,可以使用import语句导入包.
如果需要使用java.util中的其他类,可以使用import.java.util.*
但是我们更建议显式的指定要导入的类名,否则还是容易出现冲突的情况
import jam. util.*;
import java.sqL.*;
util和sql中部存在一个Date这样的类,此时就会发生歧义,编译出错.
在这种情况下需要使用完整的类名:
java.util.Date date= new java.util.Date();
可以使用import static导入包中静态的方法和字段 import static java.long.Math.*;
静态导入的方式写起来更方便一些
double result =Math.sqrt (Math. pow(x,2)); double result =sqrt(pow(x,2));
注意事项:import 和C++的#include差别很大,C++必须#include来引入其他文件内容,但是.Java不需要import只是为了写代码的时候更加方便,import更类似于C++的namespace和using.
最后再给大家分享几个常见的包:
1.java.lang:系统常用基础类(sting,Object).此包从JDK后自动导入
2.java.lang.reflect:java反射编程包
3.java.net :进行网络编程开发包
4.java.sql:进行数据库开发的支持包,
5.jara.util:是java提供的工具程序包.(集合类等)非常重要
6. java.io: I/O编程开发包.
那么今天分享就到这里,谢谢大家!!!