【JAVASE】封装 下

简介: 【JAVASE】封装

3.3 自定义包

基本规则:


  • 在文件的最上方加上一个 package 语句指定该代码在哪个包中
  • 包名需要尽量指定成唯一的名字,通常会用公司的域名的颠倒形式(例如 com.bit.demo1 )
  • 包名要和代码路径相匹配。例如创创com.bit.demo1 的包,那么会存在一个对应的路径 com/bit/demo1 来存储代码
  • 如果一个类没有 package 语句,则该类被放到一个默认包中


操作步骤:


1.在 IDEA 中先新建一个包:右键 src --> 新建 --> 包

8b45705b26acd41f9f864e443c229bba_59825d91aaac46919fa6ba9ebc039813.png


2.在弹出的对话框中输入包名,例如 test.demo1

03b037e97551ed1405c2b739248466a9_7287dba7838740eaa1f11be5f4d1a821.png


3.在包中创建类,右键包名 -> 新建 -> 类,然后输入类名

c55bc02d1ac954cea886fea7d8838652_002baf4703e44d5ab6a42ffd3e7074cb.png


4.此时可以看到我们的磁盘上的目录结构已经被 IDEA 自动创建出来了

daf35457d8c7114321aba590ae6ca5ac_c5747166bf664a648f6d1c4b53dc1ab2.png


5.同时我们也看到了,在新创建的 test1.java 文件的最上方,就出现了一个 package 语句

fe8fadcc9edce2e2a1cc8f3b7070e5ed_1e161013ba984012a9f76997b2c25a4f.png

3.4 包的访问权限控制举例

Computer类位于com.bit.demo1包中,TestComputer位置com.bit.demo2包中:


//代码一:
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修饰符,代码也会编译失败


3.5 常见的包

包名 作用
java.lang 系统常用基础类(String、Object),此包从JDK1.1后自动导入
java.lang.reflect java 反射编程包
java.net 进行网络编程开发包
java.sql 进行数据库开发的支持包
java.util 是java提供的工具程序包(集合类等) 非常重要
java.io I/O编程开发包

相关文章
|
NoSQL 关系型数据库 MySQL
数据库常用命令汇总
数据库常用命令因数据库的类型(如关系型数据库、非关系型数据库等)和具体的产品(如MySQL、Oracle、SQL Server、MongoDB等)而异。
501 4
|
8月前
|
供应链 Serverless BI
基于阿里云区块链服务(BaaS)的供应链金融系统开发与部署
随着区块链技术的快速发展,其在供应链金融领域的应用成为热点。阿里云区块链服务(BaaS)提供安全、高效、易用的平台,支持Hyperledger Fabric和蚂蚁区块链,帮助企业快速构建供应链金融系统。本文通过实战案例展示基于阿里云BaaS开发供应链金融系统的全流程,涵盖企业认证、应收账款融资、交易记录及数据分析等功能,显著提升透明度和可信度,降低融资成本。
|
数据可视化 关系型数据库 数据安全/隐私保护
Python 基于 Django 的学生成绩管理系统,可视化界面
Python 基于 Django 的学生成绩管理系统,可视化界面
|
JavaScript 前端开发 API
JavaScript的事件对象
JavaScript的事件对象
116 0
|
程序员 PHP 数据安全/隐私保护
|
分布式计算 Java Hadoop
Spark3.2.1源码编译(傻瓜式图文教学)
Spark3.2.1源码编译(傻瓜式图文教学)
650 0
Spark3.2.1源码编译(傻瓜式图文教学)
|
运维 Shell Linux
linux文本处理工具——grep、sed、awk用法
linux文本处理工具——grep、sed、awk用法
218 1
|
Java C语言
C语言 每日一题 牛客网 11.12 Day16
C语言 每日一题 牛客网 11.12 Day16
112 0
|
机器学习/深度学习 编解码 人工智能
关于语义分割的亿点思考
关于语义分割的亿点思考
319 0
|
存储
基于.NET实现的飞机订票系统
基于.NET实现的飞机订票系统
185 0