一,包
包(package) 用于管理程序中的类,主要用于解决类的同名问题。包可以看成目录。
包的作用:
[1] 防止命名冲突。
[2] 允许类组成一个单元(模块),便于管理和维护
[3] 更好的保护类、属性和方法
二,定义包
包名必须写到第一行:
package cn.baidui; public class Test{ public static void main(String [] urgs){ System.out.println("test package"); } }
三,包命名
包命名原则:始终保持类的全路径唯一。
规范:
[1]包名由小写字母组成,不能以圆点开头或结尾。圆的有特殊意义——包分隔符
[2]包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名javagroup.net
package net.javagroup.xx
[3]包名后续部分依不同机构内部的规范不同而不同
package net.javagroup.project1.projectname.xx
四,导包
导包用 import 关键字 用于告诉类需要的类在什么地址。
形式:
import cn.baidu . Student // 导入cn.baidu下的Student类。
import cn.baidu . * // 导入cn.baidu02下的所有类。
同样这种方法也适用于一个类中用到了两个不同包但同名的类时,
举例:
package cn.sxt01; import java.util.*; import java.sql.Date; public class Test01{ public static void main(String[] args){ java.util.Date date1 = new java.util.Date(); System.out.println(date1); Date date2 = new Date(0); System.out.println(date2); } }
或者在创建时只 import 一个包,完整写法是:
package cn.sxt01; import java.sql.Date; public class Test02{ public static void main(String[] args){ java.util.Date date1 = new java.util.Date(); System.out.println(date1); Date date2 = new Date(0); System.out.println(date2); } }
//import 谁 谁就简写;另一个就写全名。
jvm提供的包:
包名 |
描述 |
java.lang/语言包 |
系统默认导入,String类保存在这个包中,所以我们在使用String时不需要导包 |
java.util |
工具包,一些常用的类库,Scanner,Date,Arrays |
java.io |
输入输出处理,文件的读写等 |
java.net |
网络编程 |
java.math |
数学计算.Math.random |
java.awt(C) |
这个包中的类用于构建和管理应用程序的图形用户界面 |
另外一个小知识:
如果要导入的这个包里面的方法和属性都是静态的,那么导包的时候也可以用静态导入。
package cn.sxt01; //被导的包 public class Calc{ public static float PI = 3.14f; public static int add(int a,int b){ return a+b; } }
package cn.sxt02; // 静态导入 import static cn.sxt01.Calc.*; public class Test01{ public static void main(String[] args){ System.out.println(PI); System.out.println(add(1,2)); } }