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语言的核心类,如StringMathIntegerSystemThread,提供常用功能
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);
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_52533007/article/details/123971595
今日推荐