当前位置: 首页 > news >正文

面向对象编程(基础)8:关键字:package、import

目录

8.1 package(包)

8.1.1 语法格式

说明:

8.1.2 包的作用

8.1.3 应用举例

举例2:MVC设计模式

8.1.4 JDK中主要的包介绍

8.2 import(导入)

8.2.1 语法格式

 8.2.2 应用举例

8.2.3 注意事项


8.1 package(包)

package,称为包,用于指明该文件中定义的类、接口等结构所在的包。

8.1.1 语法格式

package 顶层包名.子包名 ;

举例:pack1\pack2\PackageTest.java

package pack1.pack2;    //指定类PackageTest属于包pack1.pack2public class PackageTest{public void display(){System.out.println("in  method display()");}
}

说明:

  • 一个源文件只能有一个声明包的package语句
  • package语句作为Java源文件的第一条语句出现。若缺省该语句,则指定为无名包。
  • 包名,属于标识符,满足标识符命名的规则和规范(全部小写)、见名知意
    • 包通常使用所在公司域名的倒置:com.atguigu.xxx。
    • 大家取包名时不要使用"java.xx"
  • 包对应于文件系统的目录,package语句中用 “.” 来指明包(目录)的层次,每.一次就表示一层文件目录。
  • 同一个包下可以声明多个结构(类、接口),但是不能定义同名的结构(类、接口)。不同的包下可以定义同名的结构(类、接口)

8.1.2 包的作用

  • 包可以包含类和子包,划分项目层次,便于管理
  • 帮助管理大型软件系统:将功能相近的类划分到同一个包中。比如:MVC的设计模式
  • 解决类命名冲突的问题
  • 控制访问权限

8.1.3 应用举例

举例1:某航运软件系统包括:一组域对象、GUI和reports子系统

举例2:MVC设计模式

MVC是一种软件构件模式,目的是为了降低程序开发中代码业务的耦合度。

MVC设计模式将整个程序分为三个层次:视图模型(Viewer)层控制器(Controller)层,与数据模型(Model)层。这种将程序输入输出、数据处理,以及数据的展示分离开来的设计模式使程序结构变的灵活而且清晰,同时也描述了程序各个对象间的通信方式,降低了程序的耦合性。

视图层viewer:显示数据,为用户提供使用界面,与用户直接进行交互。>相关工具类   view.utils>自定义view  view.ui控制层controller:解析用户请求,处理业务逻辑,给予用户响应>应用界面相关    controller.activity>存放fragment   controller.fragment>显示列表的适配器 controller.adapter>服务相关的        controller.service>抽取的基类        controller.base模型层model:主要承载数据、处理数据>数据对象封装 model.bean/domain>数据库操作类 model.dao>数据库      model.db

8.1.4 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)。

8.2 import(导入)

为了使用定义在其它包中的Java类,需用import语句来显式引入指定包下所需要的类。相当于import语句告诉编译器到哪里去寻找这个类

8.2.1 语法格式

import 包名.类名;

 8.2.2 应用举例

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();}
}

8.2.3 注意事项

  • import语句,声明在包的声明和类的声明之间。

  • 如果需要导入多个类或接口,那么就并列显式多个import语句即可

  • 如果使用a.*导入结构,表示可以导入a包下的所有的结构。举例:可以使用java.util.*的方式,一次性导入util包下所有的类或接口。

  • 如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import语句。

  • 如果已经导入java.a包下的类,那么如果需要使用a包的子包下的类的话,仍然需要导入。

  • 如果在代码中使用不同包下的同名的类,那么就需要使用类的全类名的方式指明调用的是哪个类。

  • (了解)import static组合的使用:调用指定类或接口下的静态的属性或方法

http://www.lryc.cn/news/56285.html

相关文章:

  • 【机器学习】P10 从头到尾实现一个线性回归案例
  • 【Java EE】-多线程编程(四) 死锁
  • 学习数据结构第1天(数据结构的基本概念)
  • 南大通用数据库-Gbase-8a-学习-33-空洞率查询与解决方法
  • 为什么我们认为GPT是一个技术爆炸
  • 程序员如何能提高自己的编程水平?
  • 从零使用vuepress搭建个人博客部署.github.io
  • Python 进阶指南(编程轻松进阶):十一、注释、文档字符串和类型提示
  • python item()方法
  • 【day2】Android Jetpack Compose环境搭建
  • stable-diffusion安装和简单测试
  • MATLAB算法实战应用案例精讲-【智能优化算法】 基于帕累托包络的选择算法II(PESA-II)(附MATLAB代码实现)
  • 【华为机试真题详解JAVA实现】—坐标移动
  • 【软考五】数据库(做题)
  • 【Java Web】012 -- SpringBootWeb综合案例(登录功能、登录校验、异常处理)
  • 跨界智能手表:比亚迪向左,小鹏向右
  • 【c++初阶】第九篇:vector(常用接口的使用 + 模拟实现)
  • Taro React组件使用(6) —— RuiSendCode 短信验证码【倒计时】
  • 把ChatGPT接入我的个人网站
  • 关于数字游民是未来年轻人工作趋势的一种思考
  • 2022年 合肥市经开区信息学竞赛区赛 初中组
  • 【工作小札】自定义classloader实现热加载jar
  • spring—AOP
  • 自己曾经的C++笔记【在c盘爆满的时候找到的回忆】
  • Nginx 实战-负载均衡
  • 本周大新闻|128GB版Quest 2再降价,Mojo Vision完成“新A轮”融资
  • 【论文阅读】如何给模型加入先验知识
  • arm系列交叉编译器各版本区别
  • 随笔记录工作日志
  • LinkedHashMap源码分析以及LRU的应用