Java关键字(一):package 和 import
前言
本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!
也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习,欢迎关注!
一、“ package ” 关键字的使用
1. 概述
(1)为了更好的实现项目中类的管理,提供包的概念。
(2)
package
语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。
它的格式为:package 顶层包名.子包名 ;
package pack1.pack2; //指定类PackageTest属于包pack1.pack2
public class PackageTest{
public void display(){
System.out.println("in method display()");
}
}
(3)包,属于标识符,遵循标识符的命名规则、规范(xxxyyyzzz)、“见名知意”,通常用小写单词标识。
(4)包对应于文件系统的目录,
package
语句中,用 “.” 来指明包(目录)的层次,每 “.” 一次,就代表一层文件目录。
(5)一个包下,不能命名同名的接口、类。不同的包下,可以命名同名的接口、类。
2. 作用
(1)包帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:
MVC
的设计模式。
MVC设计模式:
MVC是常用的设计模式之一,将整个程序分为三个层次:视图模型层,控制器层,与
数据模型层。这种将程序输入输出、数据处理,以及数据的展示分离开来的设计模式
使程序结构变的灵活而且清晰,同时也描述了程序各个对象间的通信方式,降低了程 序的耦合性。
模型层 model 主要处理数据
- 数据对象封装 model.bean/domain
- 数据库操作类 model.dao
- 数据库 model.db
控制层 controller 处理业务逻辑
- 应用界面相关 controller.activity
- 存放fragment controller.fragment
- 显示列表的适配器 controller.adapter
- 服务相关的 controller.service
- 抽取的基类 controller.base
视图层 view 显示数据
- 相关工具类 view.utils
- 自定义view view.ui
(2)包可以包含类和子包,划分项目层次,便于管理。
(3)解决类命名冲突的问题。
(4)控制访问权限。
3.JDK中主要的包介绍
包名 | 功能 |
---|---|
java.lang |
包含一些Java语言的核心类,如String 、Math 、Integer 、System 和Thread ,提供常用功能 |
java.net |
包含执行与网络相关的操作的类和接口 |
java.io |
包含能提供多种输入/输出功能的类 |
java.util |
包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数 |
java.text |
包含了一些java格式化相关的类 |
java.sql |
包含了java进行JDBC数据库编程的相关类/接口 |
java.awt |
包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI) |
二、“ import ”关键字的使用
1. 概述
(1)为使用定义在不同包中的Java类,需用
import
语句来引入指定包层次下所需要的类或全部类,import
语句告诉编译器到哪里去寻找类。
(2)语法格式:import 包名. 类名
import pack1.pack2.Test; //import pack1.pack2.*;表示引入pack1.pack2包中的所有结构
public class PackTest{
public static void main(String args[]){
Test t = new Test(); //Test类在pack1.pack2包中定义
t.display();
}
}
(3)在源文件中显式的使用
import
结构导入指定包下的类、接口。
(4)
import
语句声明在包的声明和类的声明之间。
(5)如果需要导入多个结构,则并列写出即可。
(6)可以使用 “
xxx.*
” 的方式,表示可以导入xxx包下的所有结构,如:使用java.util.*
的方式,一次性导入util
包下所有的类或接口。
(7)如果导入的类或接口是
java.lang
包下的,或者是当前包下的,则可以省略此import
语句。
(8)如果在源文件中,使用了不同包下的同名的类,则必须至少有一个类需要以全类名的方式显示。
(9)如果已经导入
java.a
包下的类。那么如果需要使用a包的子包下的类的话,仍然需要导入。
(10)
import static
组合的使用:调用指定类或接口下的静态的属性或
2. 代码演示
package com.atguigu.java2;
import java.lang.reflect.Field;
import java.util.*;
import com.test1.exer4.Account;
import com.test1.exer4.Bank;
import com.test1.java2.java3.Dog;
import static java.lang.System.*;
import static java.lang.Math.*;
public class PackageImportTest {
public static void main(String[] args) {
String info = Arrays.toString(new int[]{1,2,3});
Bank bank = new Bank();
ArrayList list = new ArrayList();
HashMap map = new HashMap();
Scanner s = null;
System.out.println("hello!");
Person p = new Person();
Account acct = new Account(1000);
//全类名的方式显示
com.test1.exer3.Account acct1 = new com.test1.exer3.Account(1000,2000,0.0123);
Date date = new Date();
java.sql.Date date1 = new java.sql.Date(5243523532535L);
Dog dog = new Dog();
Field field = null;
out.println("hello");
long num = round(123.434);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137729.html