• Java学习之包


    一、包:就是类的命名空间(在文件系统中的表现形式就是文件夹)

    二、代码编写规则

    1、写在程序文件的第一行

    2、格式:package 包名[.包名1.包名2......]

    类的全名称 包名.类名

    例如:

    1 package mypack; //
    2 class PackageDemo
    3 {
    4     public static void main(String[] args)
    5     {
    6         System.out.println("Hello Package!");
    7     }
    8 }

    编译(javac -d . Java文件--【-d .】代表当前目录下存放.class文件):

     运行(java 类的全名称(包名.类名)):

    三、包与包之间访问

    1、class文件在不同目录

     1 package mypack; //
     2 class PackageDemo
     3 {
     4     public static void main(String[] args)
     5     {
     6         packa.DemoA d=new packa.DemoA();
     7         d.show();
     8         System.out.println("Hello Package!");
     9     }
    10 }

    被访问的类

     1 package packa;
     2 
     3 //被访问的包中的类访问权限必须是public
     4 public class DemoA
     5 {
     6     //被访问的包中的类的方法访问权限必须是public
     7     public void show()
     8     {
     9         System.out.println("DemoA Show run");
    10     }
    11 }

    编译

    编译DemoA

    编译PackageDemo

    设置class文件所在目录set classpath=.;XXXX(小技巧classpath的值第一个值为当前目录,以分号【;】分开)

    2、访问方式

    ①、通过类的全名称(以上的例子都是)

    ②、通过import(包的导入),import 就是导入包中的类,可以使用通配符(*)

     1 package mypack; //
     2 
     3 import packb.DemoB;//导入了packb包中的DemoB类
     4 class PackageDemo
     5 {
     6     public static void main(String[] args)
     7     {
     8         //1.访问不同包中的类,需要写类的全名称
     9         packa.DemoA d=new packa.DemoA();
    10         d.show();
    11         DemoB b=new DemoB();
    12         b.show();
    13         System.out.println("Hello Package!");
    14     }
    15 }
    1 package packb;
    2 
    3 public class DemoB
    4 {
    5     public void show()
    6     {
    7         System.out.println("DemoB Show run");
    8     }
    9 }

    四、jar

    jar:java 的压缩文件

    1 package jarpack;
    2 class JarPackDemo
    3 {
    4     public static void main(String[] args)
    5     {
    6         System.out.println("Hello Jar Package!");
    7     }
    8 }

    编译

     运行

    运行jar命令

     

    示例:
     # 创建包含两个类文件的名为 classes.jar 的档案:
     jar --create --file classes.jar Foo.class Bar.class
     # 使用现有的清单创建档案, 其中包含 foo/ 中的所有文件:
     jar --create --file classes.jar --manifest mymanifest -C foo/ .
     # 创建模块化 jar 档案, 其中模块描述符位于
     # classes/module-info.class:
     jar --create --file foo.jar --main-class com.foo.Main --module-version 1.0
         -C foo/ classes resources
     # 将现有的非模块化 jar 更新为模块化 jar:
     jar --update --file foo.jar --main-class com.foo.Main --module-version 1.0
         -C foo/ module-info.class
     # 创建包含多个发行版的 jar, 并将一些文件放在 META-INF/versions/9 目录中:
     jar --create --file mr.jar -C foo classes --release 9 -C foo9 classes
    要缩短或简化 jar 命令, 可以在单独的文本文件中指定参数,
    并使用 @ 符号作为前缀将此文件传递给 jar 命令。
     示例:
     # 从文件 classes.list 读取附加选项和类文件列表
     jar --create --file my.jar @classes.list
  • 相关阅读:
    13.Query for Null or Missing Fields-官方文档摘录
    海南IT互联网招聘数据简单分析
    Mongo Spark Connector中的分区器(一)
    一、Golang中的反射基本使用
    Golang中的sync.Pool对象
    Golang中的内置函数
    golang单元测试简述
    Spark Streaming数据限流简述
    Golang中类面向对象特性
    在Docker中跑Hadoop与镜像制作
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12067325.html
Copyright © 2020-2023  润新知