面向对象 - Java包
Java包(package)
-
- java包:包机制是Java中管理类的重要手段,开发中会遇到大量同名的类,通过包可以很容易解决类重名的问题,也可以实现对类的有效管理,包对于类,相当于Windows中文件夹对于文件的作用。
// package命名格式举例 // 由于java的开源性,为了防止与他人包冲突,可以将域名倒着写,再加上项目名、模块名等易识别且不冲突d的命名方式 // 例如我的域名 hzyis.me,开发一个java游戏项目test package me.hzyis.game.test; // package通常是类的第一句非注释性语句 package me.hzyis.game.test; public class Test { public static void main(String[] args){ System.out.println("测试包"); } }
me.hzyis和me.hzyis.game,这两个包没有包含关系,是两个完全独立的包,只是逻辑上看起来后者是前者的一部分。
- java包:包机制是Java中管理类的重要手段,开发中会遇到大量同名的类,通过包可以很容易解决类重名的问题,也可以实现对类的有效管理,包对于类,相当于Windows中文件夹对于文件的作用。
JDK常用包
-
- jdk常用包:Jdk中本身包含了很多包,不同的包中有许多类,可以随时导入调用
包名称 说明 java.ang 包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能 java.awt 包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI) java.net 包含执行与网络相关的操作的类 java.io 包含能提供多种输入/输出功能的类 javautil 包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数
- jdk常用包:Jdk中本身包含了很多包,不同的包中有许多类,可以随时导入调用
导入类(import)
-
- 导入类:如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。import后,便于编写代码,提高可维护性。
Java会默认导入java.lang包下所有的类,因此这些类可以直接使用。
如果导入两个同名的类,只能用包名+类名来显示调用相关类:java.util.Date date = new java.util.Date(); // 导入其他包的类 package me.hzyis.test; import me.hzyis.test2.Test2; //导入me.hzyis.test2包中的Test2类 public class Test { public static void main(String[] args){ Test2 t = new Test2(); t.abc(); //调用me.hzyis.test2.Test2类中的方法abc } } ================================= 分割线 ================================= package me.hzyis.test2; // 导入java.util包中所有类,也可以使用import java.util.Scanner只导入Scanner import java.util.*; //导入所有类会降低编译速度 public class Test2 { public void abc() { Scanner s = new Scanner(System.in); System.out.println("请输入姓名:"); String name = s.nextLine(); System.out.println("你的姓名:"+name); } }
- 静态导入(static import):静态导入是在JDK1.5新增加的功能,其作用是用于导入指定类的静态属性,这样可以直接使用静态属性。
package me.hzyis.test; import static java.lang.Math.PI; //导入Math类的PI属性 public class Test{ public static void main(String [] args){ System.out.println(PI); } }
- 导入类:如果我们要使用其他包的类,需要使用import导入,从而可以在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。import后,便于编写代码,提高可维护性。