封装(2)

news2024/12/24 10:52:46

大家好,今天我们来介绍一下包的概念,知道包的作用可以更好的面对今后的开发,那么我们就来看看包是什么东西吧。

6.3封装扩展之包

6.3.1包的概念

在面向对象体系中,提出了一个软件包的概念,即:为了更好的管理类,把多个类收集在一起成为一组,称为软件包,有点类似于目录,比如:为了更好的管理电脑中的歌曲,一种好的方式就是将相同属性的歌曲放在相同文件下,也可以对某个文件夹下的音乐进行更详细的分类.

在Java中也引入了包,包是对类,接口等的封装机制的体现,是一种对类或者接口等很好的组织方式,比如:一个句中的类不想被其他包中的类使用.包还有一个重要的作用,在同一个工程中允许存在相同名称的类,只要处在不同的包中即可.

6.3.2导入包中的类 

java 中已经提供了很多现成同的类供我们使用,例如Date类:可以使用 java.util. Date导入 jnva.util 这个包中的类.

6.3.3自定义包

基本规则

.在文件中的最上方加上一个package语句指定该代码在哪个包中 如 : package demo1;

.包名需要尽量指定成唯一的名字,通常会用公司的域名的颠倒形式例如 :com.bit.demo1

.包名要和代码路径相匹配,例如创建con.bit,demo1的包,那么会存在一个对应的路行com/bit/demo1来存储代码

.如果一个类没有package语句,则该类被放到一个默认包中

操作步骤
1、在IDEA中新创建一个包:右键src→新建→包
2、在弹出的对话框中输入包名,

例如com.bit.demo1

90025d5e52c7422683f88c206ee0eebe.png

bed0b67bcb0546ceababb7ea5ae75d10.png 

使用java.util.Date导入java.util这个包中的Date类 .

9549580665764a99800720e723192f23.png

但是上面这种写法麻烦一些,可以使用import语句导入包.

 4db91b59dbbf4c78b853168223096208.png

如果需要使用java.util中的其他类,可以使用import.java.util.*

dd6043393c07409ba970baa96ea68626.png

但是我们更建议显式的指定要导入的类名,否则还是容易出现冲突的情况

import jam. util.*; 

import java.sqL.*; 

04fe2f5d648f4b4c930dd1813219e77d.png

 

util和sql中部存在一个Date这样的类,此时就会发生歧义,编译出错.

在这种情况下需要使用完整的类名:

java.util.Date date= new java.util.Date();

可以使用import static导入包中静态的方法和字段 import static java.long.Math.*;

静态导入的方式写起来更方便一些

double  result =Math.sqrt (Math. pow(x,2)); double result =sqrt(pow(x,2));

注意事项:import 和C++的#include差别很大,C++必须#include来引入其他文件内容,但是.Java不需要import只是为了写代码的时候更加方便,import更类似于C++的namespace和using.

最后再给大家分享几个常见的包:

1.java.lang:系统常用基础类(sting,Object).此包从JDK后自动导入

2.java.lang.reflect:java反射编程包

3.java.net :进行网络编程开发包

4.java.sql:进行数据库开发的支持包,

5.jara.util:是java提供的工具程序包.(集合类等)非常重要

6. java.io: I/O编程开发包.

那么今天分享就到这里,谢谢大家!!!

183a2751574e4005acfe0c74c8235b83.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重温设计模式--命令模式

文章目录 命令模式的详细介绍C 代码示例C代码示例2 命令模式的详细介绍 定义与概念 命令模式属于行为型设计模式,它旨在将一个请求封装成一个对象,从而让你可以用不同的请求对客户端进行参数化,将请求的发送者和接收者解耦,并且能…

基于STM32U575RIT6的智能除湿器

项目说明 除湿器原理 知识点 GPIO、定时器、中断、ADC、LCD屏幕、SHT20、SPI、IIC、UART 功能概述 模块功能LCD屏幕显示温湿度,风机开关情况,制冷 开关情况,加热片开关情况,温 湿度上下阈值,设备ID,电…

【电商搜索】CRM: 具有可控条件的检索模型

【电商搜索】CRM: 具有可控条件的检索模型 目录 文章目录 【电商搜索】CRM: 具有可控条件的检索模型目录文章信息摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果(包含重要数据与结论)相关工作后续优化方向 后记 https://arxiv.org/pdf/2412.…

【python自动化六】UI自动化基础-selenium的使用

selenium是目前用得比较多的UI自动化测试框架,支持java,python等多种语言,目前我们就选用selenium来做UI自动化。 1.selenium安装 安装命令 pip install selenium2.selenium的简单使用 本文以chrome浏览器为例,配套selenium中c…

Sigrity Optimize PI CapGen仿真教程文件路径

为了方便读者能够快速上手和学会Sigrity Optimize PI和 Deacap Generate 的功能,将Sigrity Optimize PI CapGen仿真教程专栏所有文章对应的实例文件上传至以下路径 https://download.csdn.net/download/weixin_54787054/90171471?spm1001.2014.3001.5503

免费线上签字小程序,开启便捷电子签名

虽如今数字化飞速发展的时代,但线上签名小程序的开发制作却并非易事。需要攻克诸多技术难题,例如确保签名的真实性与唯一性,防止签名被伪造或篡改。 要精准地捕捉用户手写签名的笔迹特征,无论是笔画的粗细、轻重,还是…

02、服务器的分类和开发项目流程

硬件介绍 1、服务器分类2.开发流程 1、服务器分类 1.1 服务器分类 1u服务器(u表示服务器的厚度) 1U4.45cm; 4u服务器(u表示服务器的厚度) , 服务器有两个电源模块,接在不同的电源,…

canvas绘制仪表盘刻度盘

canvas画布可以实现在网页上绘制图形的方法,比如图表、图片处理、动画、游戏等。今天我们在vue模板下用canvas实现仪表盘的绘制。 对canvas不熟悉的同学可以先了解下canvas的API文档:canvas API中文网 - Canvas API中文文档首页地图 一、创建模板&#…

搭建Alist(Windows系统环境下的)并挂载阿里云盘open映射到公网

文章目录 前言1. 使用Docker本地部署Alist1.1 本地部署 Alist1.2 访问并设置Alist1.3 在管理界面添加存储 2. 安装cpolar内网穿透 前言 本文将讲解如何在 Windows 系统中借助 Docker 部署 Alist 这一强大的全平台网盘工具,并结合 cpolar 内网穿透,实现随…

【QT常用技术讲解】发送POST包(两种方式:阻塞方式及非阻塞方式)

前言 http/https(应用层)协议是广泛使用的网络通信协议。在很多与第三方API对接的场景中,通常是通过http/https协议完成,比如API对接时,通常要通过POST包获取access_token进行鉴权,然后再进行数据交互(本篇也包含有对接…

【电商搜索】文档的信息论生成聚类

【电商搜索】文档的信息论生成聚类 目录 文章目录 【电商搜索】文档的信息论生成聚类目录文章信息概览研究背景技术挑战如何破局技术应用主要相关工作与参考文献后续优化方向 后记 文章信息 https://arxiv.org/pdf/2412.13534 概览 本文提出了一种基于信息论的生成聚类&#…

【数据结构与算法】排序算法(下)——计数排序与排序总结

写在前面 书接上文:【数据结构与算法】排序算法(中)——交换排序之快速排序 文章主要讲解计数排序的细节与分析源码。之后进行四大排序的总结。 文章目录 写在前面一、计数排序(非比较排序)代码的实现: 二、排序总结 2.1、稳定性 3.2、排序算法复杂度及…

Unity全局雾效

1、全局雾效是什么 全局雾效(Global Fog)是一种视觉效果,用于在3D场景中模拟大气中的雾气对远处物体的遮挡 它通过在场景中加入雾的效果,使得距离摄像机较远的物体看起来逐渐被雾气覆盖,从而创造出一种朦胧、模糊的视…

Kafka Streams 在监控场景的应用与实践

作者:来自 vivo 互联网服务器团队- Pang Haiyun 介绍 Kafka Streams 的原理架构,常见配置以及在监控场景的应用。 一、背景 在当今大数据时代,实时数据处理变得越来越重要,而监控数据的实时性和可靠性是监控能力建设最重要的一环…

数据分析思维(五):分析方法——假设检验分析方法

数据分析并非只是简单的数据分析工具三板斧——Excel、SQL、Python,更重要的是数据分析思维。没有数据分析思维和业务知识,就算拿到一堆数据,也不知道如何下手。 推荐书本《数据分析思维——分析方法和业务知识》,本文内容就是提取…

解读DiffusionNER: Boundary Diffusion for Named Entity Recognition

content 摘要1. 图1图21. 上方:扩散过程与实体边界2. 下方:网络结构(Sentence Encoder Entity Decoder)3. 关键思想小结 摘要 主要内容分为四个部分: 模型定位与基本原理: 提出了DiffusionNER模型将命名…

【QSS样式表 - ⑥】:QPushButton控件样式

文章目录 QPushBUtton控件样式QSS示例 QPushBUtton控件样式 常用子控件 常用伪状态 QSS示例 代码: QPushButton {background-color: #99B5D1;color: white;font-weigth: bold;border-radius: 20px; }QPushButton:hover {background-color: red; }QPushButton:p…

数字经济下的 AR 眼镜

目录 1. 📂 AR 眼镜发展历史 1.1 AR 眼镜相关概念 1.2 市面主流 XR 眼镜 1.3 AR 眼镜大事记 1.4 国内外 XR 眼镜 1.5 国内 AR 眼镜四小龙 2. 🔱 关键技术 2.1 AR 眼镜近眼显示原理 2.2 AR 眼镜关键技术 2.3 AR 眼镜技术难点 3. &#x1f4a…

smb和nfs双栈协议共享目录

1 简介 NFS和SAMBA协议都是文件共享,Linux客户端常用于NFS协议访问远程共享目录,Windows客户端常用于SAMBA协议访问远程共享目录。 2 环境 合计使用三台服务器,服务器都位于同一个子网(10.0.0.0/19)、同一个安全组…

Day13 用Excel表体验梯度下降法

Day13 用Excel表体验梯度下降法 用所学公式创建Excel表 用Excel表体验梯度下降法 详见本Day文章顶部附带资源里的Excel表《梯度下降法》,可以对照表里的单元格公式进行理解,还可以多尝试几次不同的学习率 η \eta η来感受,只需要更改学习率…