ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 包 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件。 当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理。 在项目中,我们将相同功能的类放到一个包中,方便管理。并且日常项目的分工也是以包作为边界。 类中声明的包必须与实际class文件所在的文件夹情况相一致,即类声明在a包下,则生成的.class文件必须在a文件夹下,否则,程序运行时会找不到类。 # 声明格式 通常使用公司网址反写,可以有多层包,包名采用全部小写字母,多层包之间用”.”连接 ~~~ 类中包的声明格式: package 包名.包名.包名…; ~~~ # 包的访问 在访问类时,为了能够找到该类,必须使用含有包名的类全名(包名.类名)。 包名.包名….类名 ~~~ 如: java.util.Scanner java.util.Random ~~~ 带有包的类,创建对象格式:`包名.类名 变量名 = new包名.类名();` * 前提:包的访问与访问权限密切相关,这里以一般情况来说,即类用public修饰的情况。 * 类的简化访问 当我们要使用一个类时,这个类与当前程序在同一个包中(即同一个文件夹中),或者这个类是java.lang包中的类时通常可以省略掉包名,直接使用该类。 * 当我们要使用的类,与当前程序不在同一个包中(即不同文件夹中),要访问的类必须用public修饰才可访问。 # 导包 我们每次使用类时,都需要写很长的包名。很麻烦,我们可以通过import导包的方式来简化。 可以通过导包的方式使用该类,可以避免使用全类名编写(即,包类.类名)。 导包的格式: ~~~ import 包名.类名; ~~~ 当程序导入指定的包后,使用类时,就可以简化了。演示如下 ~~~ //导入包前的方式 //创建对象 java.util.Random r1 = new java.util.Random(); java.util.Random r2 = new java.util.Random(); java.util.Scanner sc1 = new java.util.Scanner(System.in); java.util.Scanner sc2 = new java.util.Scanner(System.in); //导入包后的方式 import java.util.Random; import java.util.Scanner; //创建对象 Random r1 = new Random(); Random r2 = new Random(); Scanner sc1 = new Scanner(System.in); Scanner sc2 = new Scanner(System.in); ~~~ import导包代码书写的位置:在声明包package后,定义所有类class前,使用导包import包名.包名.类名; # 静态导入 在导包的过程中我们可以直接导入静态部分,这样某个类的静态成员就可以直接使用了。在源码中经常会出现静态导入。 静态导入格式: import static XXX.YYY; 导入后YYY可直接使用。 例如:Map.Entry的访问,简化后为Entry ~~~ import static java.util.Map.Entry; public class HashMapTest { public static void main(String[] args) { //1,创建hashmap集合对象。 Map<Student,String> map = new HashMap<Student,String>(); //取出元素。键值对方式 //Set<Map.Entry<Student, String>> entrySet = map.entrySet(); Set<Entry<Student, String>> entrySet = map.entrySet(); //for (Map.Entry<Student, String> entry : entrySet) { for (Entry<Student, String> entry : entrySet) { Student key = entry.getKey(); String value = entry.getValue(); System.out.println(key.toString()+"....."+value); } } } ~~~ # JDK常用的包 * java.lang: 这个是系统的基础类,比如String、Math、Integer、System和Thread,提供常用功能。 * java.io: 这里面是所有输入输出有关的类,比如文件操作等 * java.net: 这里面是与网络有关的类,比如URL,URLConnection等。 * java.util : 这个是系统辅助类,特别是集合类Collection,List,Map等。 * java.sql: 这个是数据库操作的类,Connection, Statememt,ResultSet等