java学习之包

news2025/1/12 6:09:52

包的引入

举例:小明和小强都想给自己定义的类命名为Dog(在同一个文件夹下不能有同名的类),包可以解决这个问题

包的作用

1.区分相同名字的类:可以把Dog类放在不同的包

2.当类很多的时候,可以很好的管理类(把功能相同或者相似的类放在同一个包进行管理)

3.控制访问反问

包的本质

实际上就是创建不同的文件夹来保存类文件
例子:
在这里插入图片描述
在com.xiaoming和com.xiaoqiang这两个包里创建了Dog类
在这里插入图片描述
包就是对应不同的文件夹或者目录,类放在对应的包下面

入门案例

package com.use;
import com.xiaoqiang.Dog;
//已定义具有相同简名的类型,不能再导入xiaoming这个包
//import com.xiaoming.Dog;

public class Test {
    public static void main(String[] args) {
        //已经导入了com.xiaoqiang这个包,所以不用再次声明
        Dog dog = new Dog();
        System.out.println(dog);
        //com.xiaoming,用包名来区分两个Dog
        com.xiaoming.Dog dog1 = new com.xiaoming.Dog();
        System.out.println(dog1);
    }
}

输出结果
在这里插入图片描述

包的命名规则

只能包含数字、字母、下划线、小圆点,但 不能用数字开头不能是关键字或保留字
eg: demo.class.exec1 包含关键字class
demo.12a 数字开头
demo.ab12.oa 正确
在这里插入图片描述## 标题

常用的包

一个包下,包含很多的类,java 中常用的包有:

  1. java.lang.* //lang 包是基本包, 默认引入, 不需要再引入.
  2. java.util.* //util 包, 系统提供的工具包, 工具类, 使用 Scanner
  3. java.net.* //网络包, 网络开发
  4. java.awt.* //是做 java 的界面开发, GUI

包的引入

在这里插入图片描述

package com.hspedu.pkg;

import java.util.Arrays;

//建议:需要使用哪个类就导入哪个类,不建议使用*
//import java.util.Scanner;//只会导入java.util包下的Scanner类
//import java.util.*;//导入java.util包下的所有类
public class Import01 {
    public static void main(String[] args) {
        //用系统提供的Arrays完成数组排序
        int[] arr = {10, -5, 23, 0, 6};
        //对其进行排序
        //传统方法:自己编写排序,比如冒泡
        Arrays.sort(arr);
        //输出排序结果
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + " ");
        }

    }
}

使用细节

//package用来声明当前类所在的包,需要放在类(或者文件)的最上面
// 即PkgDetail这个类所在的包是com.hspedu.pkg
//一个类中只有一句package
package com.hspedu.pkg;

//import 指令位置放在 package 的下面,
// 在类定义前面,可以有多句且没有顺序要求

import java.util.Arrays;
import java.util.Scanner;

public class PkgDetail {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Arrays.sort(args);

    }
}

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

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

相关文章

人工智能在医疗保健服务演变中的作用越来越大

人工智能正被应用于医疗保健服务中&#xff0c;使用的更多技术&#xff0c;从物联网和大数据到聊天机器人。然而&#xff0c;人工智能将破坏医疗保健的主要案例&#xff0c;是计算机辅助诊断。研究综述。 医疗保健提供者和支付方都在进行数字化转型。研究显示&#xff0c;现在…

sp-踩坑小记

想把$BSGS修改为从gUserdefined继承&#xff0c;只能删掉原来的$BSGS&#xff0c;然后在gUserdefined新建一个$BSGS----坑① 如果这个BSGS里面有200个属性&#xff0c;那么还得手动再敲一遍&#xff08;无法批量导入属性&#xff09;--坑② 新建的时候&#xff0c;在虚拟机的…

计算机毕业设计ssm+vue基本微信小程序的拼车自助服务小程序

项目介绍 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱拼车自助服务小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行拼车自助服务小程序的设计与开发的数据…

关于4diac的发布/订阅和客户端/服务端功能块的思考

关于4diac的发布/订阅和客户端/服务端功能块的思考 1、PUBLISH和SUBSCRIBE功能块通信 发布/订阅功能块是多对多通信&#xff0c;采用组播的方式&#xff0c;此时的IP地址应为D类IP地址224~239&#xff0c;使用其他的ip地址&#xff0c;则SUBSCRIBE功能块接收不到 2、CLIEN…

【Java八股文总结】之JVM

文章目录JVM一、JVM内存区域1、运行时数据区域1、程序计数器2、java虚拟机栈Q&#xff1a;栈可能出现的两种错误3、本地方法栈4、堆Q&#xff1a;堆中会出现的错误Q&#xff1a;堆中对象的分配过程5、方法区Q&#xff1a;堆和栈的区别&#xff1f;2、为什么要将永久代&#xff…

STM32CubeIDE下载安装

一&#xff0c;下载安装。 官方下载地址&#xff1a; STM32CubeIDE - STM32的集成开发环境 - STMicroelectronics 下载需要注册账号&#xff0c;或者登记信息。 安装过程很简单&#xff0c;默认next就行&#xff0c;不过注意安装文件目录不要有中文&#xff0c;不然会报错&a…

java计算机毕业设计ssm美妆产品进销存管理系统

项目介绍 随着经济的发展和信息技术的普及,国内许多企业都面临了重大的挑战。企业的管理流程、战略规划如果不能进行调整,极有可能面临淘汰的风险。特别是美妆企业,面对大量的美妆产品和进销售管理,如果不使用信息系统进行有效的管理和利用,那就会阻碍企业的发展,使企业在市场…

学生dreamweaver网页设计作业成品___辅导网站( 4页 登录注册 轮播图)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | | HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HTML&#xff1a;结构 CSS&#xff1a;样式 在操作方面上运用了html5和css3&#xff0c; 采…

高性能 MySQL - 第六章 查询性能优化

最近阅读MySQL高性能&#xff0c;略有收获&#xff0c;好记忆不如烂笔头&#xff0c;记录一下。本期笔记主要是围绕高性能MySQL第六章查询性能优化。 整体结构 重点、亮点内容摘抄 第六章 查询性能优化 查询优化、索引优化、库表结构优化需要齐头并进&#xff0c;一个不落。在…

nodejs express 的基本使用

测试需要快速过一遍express的基本使用方法 直接安装express使用 express和koa的区别](https://zhuanlan.zhihu.com/p/372128788)egg.js企业级开发框架 npm install exress --save可以使用express-generator生成项目框架 $ npx express-generatorwarning: the default view …

call()、apply()、bind() 区别、使用场景、实现方式

目录 1. call()、apply()、bind() 三者区别 1.1 作用 1.2 参数 1.3 执行时机 2. call()、apply() 使用场景 2.1 使用 Array.prototype.push.apply(arr1, arr2) 合并两个数组 2.1.1 原理&#xff08;看了手写方法&#xff0c;或许会更有助于理解&#xff09; 2.1.2 如何…

微电网两阶段鲁棒优化(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

LeetCode刷题复盘笔记—一文搞懂62. 不同路径 63. 不同路径 II(动态规划系列第三篇)

今日主要总结一下动态规划的两道题目&#xff0c;62. 不同路径 && 63. 不同路径 II 题目一&#xff1a;62. 不同路径 题目描述&#xff1a; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或…

HTML CSS 网页设计作业「体育小站」(梅西足球 6页 )

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材&#xff0c;DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 校园篮球网页设计 | 足球体育运动 | 体育游泳运动 | 兵乓球 | 网球 | 等网站的设计与制作| HTML期末大学生网页设计作业&#xff0c;Web大学生网页 HT…

JavaScript之PC端网页特效(55th)

在前面学习了JS基础、DOM 和 BOM 的基本操作后&#xff0c;这部分主要学习这些知识的拓展应用 1、元素偏移量 offset 系列 1、offset 概述 offset 翻译过来就是偏移量&#xff0c;我们使用 offset 系列相关属性可以动态的得到该元素的位置&#xff08;偏移&#xff09;、大小…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.7 SpringBoot 操作 Redis 客户端实现技术切换【jedis】

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.7 SpringBoot 操作 Redis 客户端实现技术切换【je…

数据结构实验教程-第二套

5.一棵左子树为空的二叉树在先序线索化后&#xff0c;其中空的链域的个数是 a&#xff0e;不确定 b.0 c.1 d.2在先序线索化之后&#xff0c;相当于只有开始节点没有前驱&#xff0c;最后的节点没有后继&#xff0c;因此空链域只有2个&#xff0c;分别是开始节点的左孩子和最后节…

【笔试题】【day23】

文章目录第一题&#xff08;二叉树度结点的计算&#xff09;第二题&#xff08;平衡查找二叉树&#xff09;第三题&#xff08;堆的插入&#xff09;第四题&#xff08;哈希表的查找&#xff09;第五题&#xff08;大数排序&#xff09;第一题&#xff08;二叉树度结点的计算&a…

功能测试

功能测试 按照是否覆盖源代码 黑盒测试&#xff08;输入和输出&#xff09; 白盒测试&#xff08;代码内部实现逻辑&#xff09; 灰盒测试&#xff08;输入输出和代码逻辑&#xff09; 介于白盒测试和黑盒测试之间的测试&#xff0c;多用于集成阶段&#xff0c;不仅关注输入输…

智能制造与数字化工厂

智能制造是基于新一代信息技术&#xff0c;贯穿设计、生产、管理、服务等制造活动各个环节&#xff0c;具有信息深度自感知、智慧优化自决策、精准控制自执行等功能的先进制造过程、系统与模式的总称。具有以智能工厂为载体&#xff0c;以关键制造环节智能化为核心&#xff0c;…