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 用例图

描述程序执行分配

一般出现在项目设计过程

相关文章
|
3月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
427 3
|
3月前
|
SQL Java 数据库
2025 年 Java 从零基础小白到编程高手的详细学习路线攻略
2025年Java学习路线涵盖基础语法、面向对象、数据库、JavaWeb、Spring全家桶、分布式、云原生与高并发技术,结合实战项目与源码分析,助力零基础学员系统掌握Java开发技能,从入门到精通,全面提升竞争力,顺利进阶编程高手。
616 1
|
3月前
|
SQL 算法 Java
零基础到精通的史上最强 Java 学习路线图推荐
史上最全Java学习路线图,涵盖基础语法、面向对象、数据结构与算法、多线程、JVM、Spring框架、数据库及项目实战,助你从零基础到精通Java开发,附完整代码与工具推荐。
246 3
零基础到精通的史上最强 Java 学习路线图推荐
|
3月前
|
SQL 算法 Java
适合自学的史上最强 Java 学习路线图分享
本路线图系统讲解Java从入门到进阶的学习路径,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架如Spring、数据库操作及项目实战,助你全面掌握Java开发技能,适合零基础及进阶学习。
897 0
|
3月前
|
Java API 数据库
2025 年最新 Java 实操学习路线,从入门到高级应用详细指南
2025年Java最新实操学习路线,涵盖从环境搭建到微服务、容器化部署的全流程实战内容,助你掌握Java 21核心特性、Spring Boot 3.2开发、云原生与微服务架构,提升企业级项目开发能力,适合从入门到高级应用的学习需求。
641 0
|
3月前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
301 1
|
3月前
|
缓存 Java API
2025 年小白也能轻松上手的 Java 最新学习路线与实操指南深度剖析
2025年Java最新学习路线与实操指南,涵盖基础语法、JVM调优、Spring Boot 3.x框架、微服务架构及容器化部署,结合实操案例,助你快速掌握企业级Java开发技能。
386 0
|
3月前
|
前端开发 Java 数据库连接
帮助新手快速上手的 JAVA 学习路线最详细版涵盖从入门到进阶的 JAVA 学习路线
本Java学习路线涵盖从基础语法、面向对象、异常处理到高级框架、微服务、JVM调优等内容,适合新手入门到进阶,助力掌握企业级开发技能,快速成为合格Java开发者。
519 3
|
3月前
|
监控 Java API
2025 年全新出炉的 Java 学习路线:从入门起步到实操精通的详细指南
2025年Java学习路线与实操指南,涵盖Java 21核心特性、虚拟线程、Spring Boot 3、微服务、Spring Security、容器化部署等前沿技术,助你从入门到企业级开发进阶。
722 0
|
4月前
|
NoSQL Java 关系型数据库
Java 从入门到进阶完整学习路线图规划与实战开发最佳实践指南
本文为Java开发者提供从入门到进阶的完整学习路线图,涵盖基础语法、面向对象、数据结构与算法、并发编程、JVM调优、主流框架(如Spring Boot)、数据库操作(MySQL、Redis)、微服务架构及云原生开发等内容,并结合实战案例与最佳实践,助力高效掌握Java核心技术。
400 0