包介绍和 java 包回顾|学习笔记

简介: 快速学习包介绍和 java 包回顾。

开发者学堂课程【Scala 核心编程-基础包介绍和 java 包回顾】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8953


包介绍和 java 包回顾

目录:

一、

二、演示 java 打包解决文件名冲突

三、Java 的内容做一个简短的回顾

 

一、包

在 Scale 里,包的地位比较高,功能在 java 基础上,做了很大的扩展

应用场景,了解包的用法

现在有两个程序员共同开发一个项目,程序员 xiaoming 希望定义一个类取名 Dog ,程序员 xiaoqiang 也想定义一个类也叫 Dog。两个程序员为此还吵了起来,怎么办?

回顾:

1. Java 中,包的三大功能:

(1) 区分相同名字的类

(2) 当类很多时,可以很好的管理类

(3) 控制访问范围

2. Java 打包的命令

(1) 打包基本语法

package com. atguigu;

(2) 打包的本质分析

在编译和使用的时候,用包的结构创健不同的文件夹来保存类文件,画出示意图,与 scala 比较

java 包,类源码,文件路径和.class 文件的关系图

 image.png

java 对包的要求

1. 类的源文件,需要和包对应的文件路径匹配

2. 当我们编译 Dog 类,后生成对应的.class 文件,编译器会将该.class 文件也放在和包对应的文件路径下

有一个源文件,名字为 Dog.java 文件。打包路径用 package com.atguige.Dog,路径不能乱放,可能会报错。内容为 public Dog{}

image.png

在此包下创建 javapackage,然后创建 Dog 文件

自动生成代码 package com.atguigu.chaptero7 .javapackage;

内容 public dog{}必须写在此目录下,不然会报错

点击 dog 文件右键浏览目录,找路径,从项目的根目录开始,路径从 com 开始计算

 image.png

在后面加上.hello,报错

image.png

package com.atguigu.chaptero7.javapackage;

public class Dog {

public static void main( string[] args) {

system.out.println( "hello dog" );}

}

运行此段代码,看对应的字节码位置

image.png

后面的路径一样,但是前面是从 classes 开始,如果字节码不放在这,就不能跑代码。

 

二、 演示 java 打包解决文件名冲突

快速演示

建立一个包 javapackage

小明和小红用同一个类名,为了区分,打两个包,一个名为 xh,一个名为 xm

image.png

在里面分别创建两个 java 类,Tiger,类名并不冲突

然后再上一级包 javapackage 下创建 TestTiger,用来测试他们各自的 tiger 文件。在 Java 中不能使用类型推导,所以路径必须写清楚,代码如下:

package com. atguigu.chapter07.javapackage;

public class TestTiger {

public static void main(string[ ] args) {

//使用 xm 的 Tiger

com.atguigu.chapter07.javapackage.xm.Tiger tiger01 = new com.atguigu.chapter07.javapackage.xm.Tiger();

//使用 xh 的 Tiger

com.atguigu.chapter07.javapackage.xh.Tiger tiger02 = new com.atguigu.chapter07.javapackage.xh.Tiger();

system.out.println("tiger01=" + tiger01 + “tiger02=" + tiger02);

}}

运行结果:

image.png

01中是小明,02中是小红,运行结果成功

总结:

1. 回顾-Java 如何引入包

语法: import 包;

比如 import java.awt.*;

引入一个包的主要目的是要使用该包下的类

比如 import java.util.Scanner;就只是引入一个类 scanner

2. 回顾-Java 包的特点

java 中包名和源码所在的系统文件目录结构要一致,并且编译后的字节码文件路径也和包名保持一致,如果不一致就会报错。

 

三、 Java 的内容的回顾

1. 包的引出

首先看应用场景,现在有两个程序员共同开发一个项目,程序员 xiaoming 希望定义一个类取名 Dog ,程序员xiaoqiang也想定义一个类也叫 Dog。两个程序员为此还吵了起来,怎么办?

使用包即可以解决这个问题。

2. 打包的命令

(1) 区分相同名字的类

(2) 当类很多时,可以很好的管理类

(3) 控制访问范围

3. 打包基本语法

package com.atguigu;

4. 打包的本质分析

本质是创建不同的文件夹来保存类文件,画了示意图来分析。

5. 快速回顾案例

使用打包技术解决上述的问题,写了一段代码,来分析引入问题的解决方案。

代码如下:

package com. atguigu.chapter07.javapackage;

public class TestTiger {

public static void main(string[ ] args) {

//使用 xm 的 Tiger

com.atguigu.chapter07.javapackage.xm.Tiger tiger01 = new com.atguigu.chapter07.javapackage.xm.Tiger();

//使用 xh 的 Tiger

com.atguigu.chapter07.javapackage.xh.Tiger tiger02 = new com.atguigu.chapter07.javapackage.xh.Tiger();

system.out.println("tiger01=" + tiger01 + “tiger02=" + tiger02);

}}

相关文章
|
6月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
391 5
|
8月前
|
消息中间件 算法 安全
JUC并发—1.Java集合包底层源码剖析
本文主要对JDK中的集合包源码进行了剖析。
|
3月前
|
小程序 Java 知识图谱
Java 学习笔记 —— BMI & BMR 计算器
这是一个使用 Java 编写的 BMI 与 BMR 计算器小程序,可输入年龄、性别、身高和体重,计算身体质量指数(BMI)和基础代谢率(BMR),并输出健康评估结果。通过该项目,掌握了 Java 的输入处理、数据验证、条件判断、数学运算及格式化输出等基础知识,是 Java 初学者的理想练习项目。
|
3月前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
9月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
191 13
|
9月前
|
前端开发 JavaScript Java
[Java计算机毕设]基于ssm的OA办公管理系统的设计与实现,附源码+数据库+论文+开题,包安装调试
OA办公管理系统是一款基于Java和SSM框架开发的B/S架构应用,适用于Windows系统。项目包含管理员、项目管理人员和普通用户三种角色,分别负责系统管理、请假审批、图书借阅等日常办公事务。系统使用Vue、HTML、JavaScript、CSS和LayUI构建前端,后端采用SSM框架,数据库为MySQL,共24张表。提供完整演示视频和详细文档截图,支持远程安装调试,确保顺利运行。
403 17
|
9月前
|
开发框架 Java 开发工具
【Java全栈学习笔记-U1-day01】Java介绍
本笔记整理了Java学习的基础内容,涵盖程序理解、Java语言特性、JDK安装与配置、Java程序开发工具及编写步骤。重点介绍了Java程序的基本结构、编译和运行过程,以及输出语句的使用。通过实例演示了IDEA创建Java程序的方法,并强调了编码规范和注意事项。适合初学者复习和交流学习。 主要内容: 1. 理解程序:计算机组成、程序定义。 2. 简介:Java语言特点、技术平台、JDK作用。 3. 编写Java程序:编写、编译、运行步骤,基本结构。 4. 输出语句 5. DEA使用:新建工程、保存位置、文件介绍、新建类。 6. 扩展:注释、代码规范、大小写敏感、缩进等。
|
Java Android开发
Eclipse 创建 Java 包
Eclipse 创建 Java 包
206 1
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
982 0
Java/Spring项目的包开头为什么是com?
|
Java API 数据处理
Java 包(package)的作用详解
在 Java 中,包(package)用于组织和管理类与接口,具有多项关键作用:1)系统化组织代码,便于理解和维护;2)提供命名空间,避免类名冲突;3)支持访问控制,如 public、protected、默认和 private,增强封装性;4)提升代码可维护性,实现模块化开发;5)简化导入机制,使代码更简洁;6)促进模块化编程,提高代码重用率;7)管理第三方库,避免命名冲突;8)支持 API 设计,便于功能调用;9)配合自动化构建工具,优化项目管理;10)促进团队协作,明确模块归属。合理运用包能显著提升代码质量和开发效率。
1234 4