美文网首页
Java包管理

Java包管理

作者: 天凉玩个锤子 | 来源:发表于2019-11-15 12:40 被阅读0次

package

包的作用

  • 如同文件夹,用于区别类名的命名空间
  • 包可以避免名字冲突。调用不同包中相同类名的类时,应该加上包名加以区别。
  • 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
//路径为:pkg1/pkg2/.../demo.java
package pkg1[.pkg2[.pkg3...]]];

如下例:
将想要放在同一个包中的文件都在开头写想要指定的包名bag(小写字母,避免与类、接口名字冲突),然后放入同一个子目录中,子目录的名字就是bag。

//A.java
package bag;

interface A{
  public void a();
}
//A_.java
package bag;

public class thing implements  A{
  public void a(){
    System.out.println("hahaha");
  }
}

import 关键字

类文件中可以包含任意数量的 import 声明。import 声明必须在包声明之后,类声明之前。

如果一个包中,一个类想要使用本包中的另一个类,那么该包名可以省略,否则:

//通配符*
import pkg.*;
//引入单个类A
import pkg.A;

命名规则

通常,一个公司使用它互联网域名的颠倒形式来作为它的包名.例如:互联网域名是 runoob.com,所有的包名都以 com.runoob 开头。包名中的每一个部分对应一个子目录。

例如:有一个 com.runoob.test 的包,这个包包含一个叫做 Runoob.java 的源文件,那么相应的,应该有如下面的一连串子目录:
....\com\runoob\test\Runoob.java
编译的时候,编译器为包中定义的每个类、接口等类型各创建一个不同的输出文件,输出文件的名字就是这个类型的名字,并加上 .class 作为扩展后缀。例如:

// 文件名: Runoob.java
 
package com.runoob.test;
public class Runoob {
      
}
class Google {
      
}

现在,我们用-d选项来编译这个文件,如下:
$javac -d . Runoob.java
这样会像下面这样放置编译了的文件:

.\com\runoob\test\Runoob.class
.\com\runoob\test\Google.class

这样,你可以将你的类目录分享给其他的编程人员,而不用透露自己的源码。

CLASSPATH

类目录的绝对路径叫做 class path。设置在系统变量 CLASSPATH中。编译器和 java 虚拟机通过将 package 名字加到 class path 后来构造 .class 文件的路径。
用下面的命令显示当前的CLASSPATH变量:

  • Windows 平台(DOS 命令行下):C:> set CLASSPATH
  • UNIX 平台(Bourne shell 下):# echo $CLASSPATH

删除当前CLASSPATH变量内容:

  • Windows 平台(DOS 命令行下):C:> set CLASSPATH=
  • UNIX 平台(Bourne shell 下):# unset CLASSPATH; export CLASSPATH

设置CLASSPATH变量:

  • Windows 平台(DOS 命令行下): C:> set CLASSPATH=C:\users\jack\java\classes
  • UNIX 平台(Bourne shell 下):# CLASSPATH=/home/jack/java/classes; export CLASSPATH

参考:
https://www.runoob.com/java/java-package.html

相关文章

  • 包 1. 作用: 管理Java文件 解决同名文件冲突 2. 定义包:package包名 必须放在Java源程序第一...

  • Java_basic_5: 包/package

    包/package 包的作用 管理Java文件 解决同名文件冲突 包的定义 格式: package package...

  • 2020-02-19 初识Miniconda、Conda

    Conda简介 任何语言的包、依赖和环境管理——Python、R、Ruby、Lua、Scala、Java、Java...

  • Maven 基础标签之版本管理和冲突解决

    前言 我们在做java项目的时候由于jar包太多,我们就需要使用maven做项目管理,管理项目的jar包依赖,包括...

  • 常用第三方包

    包的介绍 包类似Java中概念,jar是源代码管理,分发的最小单位。 目前多数包来自 Github官方包来自 go...

  • java基础

    1.package 和 import 包是用来管理类的,就像资源管理器中使用文件夹管理文件一样 常用包:java....

  • 2020-06-19关键字(package,import)

    包 概述包就是文件夹,对类进行分类管理 格式package 包名;(多级包用,分开) 带包的java类的编译和执行...

  • 2018-01-18使用maven搭建多模块的springmvc

    1、maven自动管理java包 2、maven构建多个模块,结构清晰,管理方便。 3、使用mybatis持久化框...

  • scala 包和引入和this.type

    1.scala包 scala的包和Java中的包的目的是相同的:管理大型程序中的名称。要增加条目到包中,可以将其包...

  • java知识点

    66主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 ...

网友评论

      本文标题:Java包管理

      本文链接:https://www.haomeiwen.com/subject/uzijictx.html