Java学习路线-8:包的定义及使用

简介: Java学习路线-8:包的定义及使用

第23 章 : 包的定义及使用

101 包的定义

包 == 目录

“.”表示分隔子目录


package com.name.demo;
public class Hello{}

编译后的.class文件需要保存到指定目录中


打包处理


$ javac -d . Hello.java

-d 表示要生成的目录,package定义的结构

. 表示当前所在目录

程序执行的时候一定要带着包执行程序


$ java  com.name.demo.Hello

102 包的导入

直接编译,让java决定编译先后顺序


$ java -d . *.java

注意:

1、public class类名必须与文件名保持一致

2、要被其他包所使用的类要加public

3、一般一个java文件只有一个class类

4、class 类名称可以与文件名不一致,可以提供多个类,会被编译为多个class文件

而且只能被本包所访问

包名必须采用小写字母定义


导入可以使用通配符 *

不表示全部加载,会根据需要加载

会出现引用不明确问题


使用的时候直接写完整路径


import com.name.demo;
com.name.demo.Hello();

导包示例


Message.java
package com.name.demo ;
public class Message{
    public void printMessage(String message){
        System.out.println(message);
    }
}

Demo.java


import com.name.demo.Message ;
class Demo{
    public static void main(String[] args) {
        Message message = new Message();
        message.printMessage("Hello Message") ;
    }
}

打包执行


# 编译打包文件
$ javac -d . *.java
# 执行
$ java Demo
Hello Message

文件目录


├── Demo.class
├── Demo.java
├── Message.java
└── com
    └── name
        └── demo
            └── Message.class

103 静态导入

JDK >=1.5


import static com.name.demo.Demo.* ;

Message.java


package com.name.demo ;
public class Message{
    public static void echoMessage(String message){
        System.out.println(message);
    }
}

Demo.java


import static com.name.demo.Message.* ;
class Demo{
    public static void main(String[] args) {
        echoMessage("Hello Message") ;
    }
}

104 生成jar文件

jar文件: 管理class文件


步骤:

打包编译 javac -d . Message.java

打包jar jar -cvf name.jar com

-c create 创建文件

-v verbose 详细输出

-f file 要生成的jar文件


rar打开jar文件


每个.jar文件都是独立的程序路径,必须通过CLASSPATH配置

windows: 以分号分隔


$ SET CLASSPATH=.;d:\name.jar

Mac:以冒号分隔


$ export CLASSPATH=".:/root/name.jar"

JDK < 1.9

所有类的jar文件: rt.jar tools.jar


JDK >= 1.9 模块化设计


105 系统常用包

Java自身提供类库

第三方提供支持类库


java.lang String, Number, Object JDK 1.1自动导入

java.lang.reflect 反射机制

java.util 工具类,数据结构

java.io 输入输出

java.net 网络开发

java.sql 数据库编程

java.applet 嵌套网页执行

java.awt 图形界面GUI开发Windows位置

java.swing(JDK1.2)轻量级图形开发包


106 访问控制权限

面向对象三个特点:封装,继承,多态

访问控制权限


访问范围         private    default   protected    public
同包同类           true        true      true       true
同包不同类                      true      true       true
不同包的子类                              true       true 
不同包的所有类                                        true

参考选择

属性定义 private

方法定义 public


通过子类访问protected 属性


Message.java


package com.util.a ;
public class Message{
    protected String info = "message info";
}

TestMessage.java


package com.util.b ;
import com.util.a.Message ;
public class TestMessage extends Message{
    public void showInfo(){
        System.out.println(super.info);
    }
}

Demo.java


import com.util.b.TestMessage ;
public class Demo{
    public static void main(String[] args) {
        new TestMessage().showInfo();
    }
}

第24 章 : UML图形

107 类图

UML统一建模语言: 利用图形化的形式来实现程序类关系的描述


三层结构表示


类名称
属性 
方法

抽象类属性斜体abstract


属性格式:访问权限 属性名称: 属性类型

public +

protected #

private -


方法格式:访问权限 方法名称(): 返回值


画图工具

Rational Role

PowerDesigner


子类实现接口 三角和虚线

子类继承父类 三角和实线


108 时序图

描述代码的执行流程


109 用例图

描述程序执行分配

一般出现在项目设计过程

相关文章
|
26天前
|
存储 分布式计算 Oracle
Java初级学习路线
本文为Java初学者提供了一条清晰、系统的学习路线,从环境搭建到实战练习,涵盖了Java基础语法、面向对象编程、常用API、异常处理及项目实践,助你从零开始掌握Java编程,打下坚实基础。
|
20天前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
172 3
|
3月前
|
前端开发 JavaScript Java
Java 学习路线规划及项目案例中的技术栈应用解析
内容包括:**Java 17核心特性**(如sealed class、record)与模块化开发;Spring Boot 3 + Spring Cloud微服务架构,涉及响应式编程(WebFlux)、多数据库持久化(JPA、R2DBC、MongoDB);云原生技术**如Docker、Kubernetes及CI/CD流程;性能优化(GraalVM Native Image、JVM调优);以及前后端分离开发(Vue 3、Spring Boot集成)。通过全栈电商平台项目实战,掌握从后端服务(用户、商品、订单)到前端应用(Vue 3、React Native)的全流程开发。
149 9
|
3月前
|
消息中间件 Java 微服务
2025 版 Java 学习路线实战指南从入门到精通
《Java学习路线实战指南(2025版)》是一份全面的Java开发学习手册,涵盖基础环境搭建、核心语法与新特性、数据结构与算法、微服务架构、云原生技术栈、AI融合及项目实战。内容包括JDK安装配置、IntelliJ IDEA设置、Records类与模式匹配增强、LeetCode题解、Spring Cloud微服务开发、Kubernetes部署、OpenAI API调用等。结合在线商城系统案例,采用Vue 3、Spring Boot 3.5、MySQL、Elasticsearch等技术,提供从理论到实践的完整路径,助力开发者掌握2025年最新趋势与最佳实践。
309 4
|
21天前
|
Java 数据库连接 微服务
零基础自学 Java 全栈必备最全学习路线及知识清单方向指引
本文为零基础学习者提供完整的Java全栈学习路线,涵盖Java基础、进阶、框架、项目实战及拓展方向,助你系统掌握全栈开发技能,快速成长为优秀Java工程师。
150 6
|
23天前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
71 0
|
2月前
|
存储 安全 Java
Java 学习路线 35 掌握 List 集合从入门到精通的 List 集合核心知识
本文详细解析Java中List集合的原理、常用实现类(如ArrayList、LinkedList)、核心方法及遍历方式,并结合数据去重、排序等实际应用场景,帮助开发者掌握List在不同业务场景下的高效使用,提升Java编程能力。
279 0
|
3月前
|
前端开发 Java 微服务
2025 版 Java 学习路线图之技术方案与实操指南详解
这是一份详尽的Java学习路线图,涵盖从入门到精通的全流程。基础阶段包括环境搭建、语法基础与面向对象编程;进阶阶段深入数据结构、算法、多线程及JVM原理;框架阶段学习Spring、MyBatis等工具;数据库阶段掌握SQL与NoSQL技术;前端阶段了解HTML、CSS及JavaScript框架;分布式与微服务阶段探讨容器化、服务注册与发现;最后通过项目实战提升性能优化与代码规范能力。资源地址:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)。
242 7
|
3月前
|
算法 安全 Java
大学四年学好 Java 拿到 offer 的过来人生成长尾关键词 Java 学习路线分享
这是一篇针对大一学生学习Java的指南,帮助你在大学四年中系统掌握Java,最终成功拿到offer。文章详细介绍了Java的学习路线,包括Java基础(JavaSE)、异常处理、并发多线程(可选)和JVM基础知识。同时提供了具体的学习方法,如观看视频教程、阅读经典书籍和刷技术博客。此外,还给出了简单计算器和多线程打印等应用实例,帮助巩固所学知识。按照此路线认真学习,为未来深入研究和求职打下坚实基础。资源地址:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
60 1
|
3月前
|
Cloud Native Java Devops
Java 学习路线之环境搭建微服务项目实战及 DevOps 流程实操内容解析
这是一份结合最新技术的Java学习路线,涵盖环境搭建、微服务项目实战及DevOps流程。内容包括2025年版开发环境配置(如SDKMAN管理JDK、)、Gradle构建工具使用、微服务图书管理系统实战(Spring Boot 3.3 + Spring Cloud 2025.0)、云原生部署)、AI融合实践(OpenAI集成)以及性能优化与监控(JFR/Micrometer/Sleuth)。通过每日实践、代码审查和技术分享,帮助你掌握现代企业级开发技能,实现云原生应用的独立开发与部署。资源地址:[点击下载](https://pan.quark.cn/s/14fcf913bae6)。
309 0

热门文章

最新文章