JavaSE | 初始Java(九) | 包的使用

news2024/11/23 10:07:29

 包

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

可以使用 import语句导入包

import java.util.Date;
public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        // 得到一个毫秒级别的时间戳
        System.out.println(date.getTime());
    }
}
如果需要使用 java.util 中的其他类 , 可以使用 import java.util.*
import java.util.*;
public class Test {
    public static void main(String[] args) {
    Date date = new Date();
    // 得到一个毫秒级别的时间戳
    System.out.println(date.getTime());
    }
}
可以使用 import static 导入包中静态的方法和字段
import static java.lang.Math.*;
public class Test {
    public static void main(String[] args) {
        double x = 30;
        double y = 40;
        // 静态导入的方式写起来更方便一些.
        // double result = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
        double result = sqrt(pow(x, 2) + pow(y, 2));
        System.out.println(result);
    }
}
自定义包
基本规则
  • 在文件的最上方加上一个 package 语句指定该代码在哪个包中.
  • 包名需要尽量指定成唯一的名字, 通常会用公司的域名的颠倒形式(例如 com.bit.demo1 ).
  • 包名要和代码路径相匹配. 例如创建 com.bit.demo1 的包, 那么会存在一个对应的路径 com/bit/demo1 来存储代码.
  • 如果一个类没有 package 语句, 则该类被放到一个默认包中.

操作步骤

包的访问权限控制举例
Computer 类位于 com.bit.demo1
package com.bit.demo1;
public class Computer {
    private String cpu; // cpu
    private String memory; // 内存
    public String screen; // 屏幕
    String brand; // 品牌
    public Computer(String brand, String cpu, String memory, String screen) {
        this.brand = brand;
        this.cpu = cpu;
        this.memory = memory;
        this.screen = screen;
    }
    public void Boot(){
        System.out.println("开机~~~");
    }
    public void PowerOff(){
        System.out.println("关机~~~");
    }
    public void SurfInternet(){
        System.out.println("上网~~~");
    }
}
package com.bite.demo2;

import com.bite.demo1.Computer;

public class TestComputer {
    public static void main(String[] args) {
        Computer p = new Computer("HW", "i7", "8G", "13*14");
        System.out.println(p.screen);
        // System.out.println(p.cpu); // 报错:cup是私有的,不允许被其他类访问
        // System.out.println(p.brand); // 报错:brand是default,不允许被其他包中的类访问
    }
}
// 注意:如果去掉Computer类之前的public修饰符,代码也会编译失败
常见的包
1. java.lang: 系统常用基础类 (String Object), 此包从 JDK1.1 后自动导入。
2. java.lang.reflect:java 反射编程包 ;
3. java.net: 进行网络编程开发包。
4. java.sql: 进行数据库开发的支持包。
5. java.util: java 提供的工具程序包。 ( 集合类等 ) 非常重要
6. java.io:I/O 编程开发包。

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

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

相关文章

【Spring】Spring 创建和使用

Spring 创建和使用 一. 创建 Spring 项目1. 创建⼀个 Maven 项目2. 添加 Spring 框架⽀持3. 添加启动类 二. 存储 Bean 对象1. 创建 Bean2. 将 Bean 注册到容器 三. 获取并使⽤ Bean 对象1. 创建 Spring 上下文2. 获取指定的 Bean 对象3. 使用 Bean Spring 就是⼀个包含了众多⼯…

HDF5文件数据读取

1、HDF5文件说明 HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。HDF 被设计为: 自述性:对于一个HDF …

Koa学习4:密码加密、验证登录、颁发token、用户认证

请求体 这里遇到了个问题,ctx.request.body 的值是一个字符串。明明已经使用了koa-body中间件 查了一下原因是: ctx.request.body的值可能是一个对象或一个字符串,取决于请求的Content-Type和请求体的格式。 当使用koa-body中间件时&#x…

专业PDF编辑阅读工具PDF Expert mac中文特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动、旋转、缩放、裁剪等操作…

基于Java的老年人体检管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

JDBC学习笔记(1)

连接数据库 下载mysql-connector-java,这里我是看的这个连接mysql-connector-java下载。 下载后并且导入了Idea中的lib文件下。 导入成功后,为了验证可以通过CTRLn来搜索Driver看看有没有添加进来。 随后在MySQL中创建一个数据库,我这里直…

小狐狸ChatGPT付费创作系统V2.0.4智能问答小程序,修复一个pc版的bug

狸GPT付费体验系统是一款基于ThinkPHP框架开发的AI问答小程序,是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。 当前全民热议ChatGPT,流量超级大,引流不要太简单!一键下单即可拥有自己的GPT!无限多开、免费更新不…

Vue中如何进行多语言处理

Vue中的多语言处理 在开发多语言Web应用程序时,处理文本翻译和国际化是一个重要的任务。Vue.js提供了多种方法来实现多语言处理,以确保您的应用程序能够支持不同语言的用户。本文将深入探讨在Vue中进行多语言处理的方法,并提供示例代码来帮助…

基于SpringBoot的高校实习管理系统设计与实现(亮点:多角色、功能全、进可攻退可守)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

2023年中国家用智能投影市场发展趋势分析

2023年上半年,连续多年保持高速增长态势的家用智能投影行业,首次半年度出现同比负增长态势。2023年上半年,中国家用智能投影市场全渠道推总销量为323.0万台,同比下降2.6 %;销售额61.0亿元,同比下降2.9%&…

SLAM面试笔记(7) — Linux面试题

目录 问题1:Linux系统基本组件? 问题2:Linux和Unix有什么区别? 问题3:Linux下编译程序 问题4:gcc基本格式和常用指令 问题5:用什么命令查找内存和交换使用情况? 问题6&#xf…

基于SpringBoot的反诈宣传平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

第四范式在港交所主板正式挂牌上市

9月28日上午9时30分,中国最大的以平台为中心的决策类人工智能公司第四范式,正式于香港联合交易所挂牌上市,股份代号为6682.HK。 作为一家长期专注于技术创新和企业端落地的人工智能软件公司,第四范式致力将AI应用到各行各业&#…

linux每处理器内存分配

一、每处理器 在多处理器系统中,每处理器变量为每个处理器生成一个变量副本,每个处理器访问自己的副本; 优点:避免处理器之间和处理器缓存之间的同步,提高程序的执行速度。 二、编程接口 1、静态 DEFINE_PER_CPU(ty…

Vue中如何进行数据请求拦截与错误处理

当你在Vue.js中开发应用程序时,数据请求拦截和错误处理是不可或缺的一部分。通过拦截请求,你可以在发送请求之前对其进行修改,而通过错误处理,你可以有效地处理来自服务器的错误响应。本文将介绍如何在Vue.js中进行数据请求拦截和…

马铃薯甲虫的成虫和幼虫数据集(YOLO检测)

数据集下载(不要积分):https://download.csdn.net/download/qq_40840797/88389331 这是一个包含1810张图像的数据集,图像中展示了马铃薯甲虫的成虫和幼虫。这个数据集是专门为了用于农业机器人的点对点喷洒而设计的。这些图像是在…

云原生数据库TDSQL-C

数据库系统核心模块 云原生数据库要解决什么问题? HTAP 云数据库VS云原生数据库

Debezium日常分享系列之:使用数据库中的数据流进行在线机器学习

Debezium日常分享系列之:使用数据库中的数据流进行在线机器学习 一、背景介绍二、数据集准备三、使用 Apache Flink 进行分类四、使用 Debezium 和 Kafka 作为源数据流五、构建 Flink 流 k-means六、评估模型七、使用 Apache Spark 进行分类八、定义数据流九、定义和…

JAVA在线电子病历编辑器源码 B/S架构

电子病历在线制作、管理和使用的一体化电子病历解决方案,通过一体化的设计,提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心,以临床诊疗信息为主线…

开源白板工具 Excalidraw 架构解读

本文讲解开源白板工具 Excalidraw 的架构设计。 版本 0.16.1 技术栈 Vite React TypeScript Yarn Husky。 脚手架原来是用的是 Create React App,但这个脚手架已经不维护了,一年多没发布新版本了。 目前市面上比较流行的 React 脚手架是 Vite&…