【1】生活案例:
邮寄快递:中国.背景.通州区.****小区.5号楼.3单元.101房.赵姗姗
【2】包的作用:
为了解决重名问题(实际上包对应的就是盘符上的目录)
解决权限问题
防止类的重名问题
【3】创建包
包名的定义:
(1)名字全部小写
(2)中间用.隔开
(3)一般都是公司域名倒着写:com.msb com.jd
(4)加上模块名字:
com.jd.login com.jd.register
(5)不能使用系统中的关键字:nul,con,com1---com9 .......
(6)包声明的位置必须放在非注释性代码第一行
【4】导包问题
package com.msb7; import com.msb2.Person;//导包:就是为了进行一个定位 import java.util.Date; public class Text { public static void main(String[] args) { new Person(); new Date(); new java.sql.Date(2000L);//在导包以后,还想用其他包下同名的类,就必须要手动自己写所在的包 } }
总结:
(1)使用不同包下的类需要导包:import**.**.**;例如:import java.util.Date;
(2)在导包以后,还想用其他包下同名的类,就必须要手动自己写所在的包;
(3)同一个包下的类想使用不需要导包,可以直接使用。
(4)在java.lang包下的类,可以直接使用无需导包
(5)可以直接导入*
【5】在java中的导包没有包含和被包含的关系:
设计目录平级的格式(不是包含和被包含的显示)
【6】静态导入:
package com.msb8; import static java.lang.Math.*; public class Text { public static void main(String[] args) { System.out.println(random()); System.out.println(PI); System.out.println(round(5.6)); } //在静态导入后,同一个类中有相同的方法的时候,会优先走自己定义的方法。 public static int round(double a) { return 1000; } }
下面定义了round方法以后,那么他是去库里面调用还是直接输出我们定义的语句呢?从输出结果来看,是输出我们定义的语句,这个很好理解,因为我们是软件的主导者,我们可以用软件默认的东西来方便我们的操作,主要还是以我们的操作为主。