jar文件用什么打开(怎样在eclipse中查看jar源码)

  • 时间:
  • 浏览:65
  • 来源:奥一装修网

如何运行jar文件

包概念包在目录中的作用Java包目录结构设置CLASSPATH系统变量常用的jar包Java包类型dt。jar rt。jar *。 java文件的奥秘是否有公共类?请参阅文章微信公众号Java技术江湖个人公众号:Huang Xiaoxie-Java类该系列文章将组织到我在GitHub上的“ Java采访指南”仓库中,更多的精彩内容,请在我的仓库中签入。如果您喜欢,请单击Star Ha文章。本文首先发表在我的个人博客上:本文是微信公众号之一【Java技术的江湖】“巩固Java基本系列博客文章”,本文内容的一部分在Internet上,以使本文的主题清晰透彻,我还集成了很多我认为不错的技术博客内容。我引用了一些更好的博客文章。如有侵权,请联系作者。这一系列博客文章将向您展示如何从入门到高级逐步学习Java基础知识,并开始实际战斗,然后了解每个Java知识点背后的实现原理,更全面地了解整个Java技术系统,以及形成自己的知识框架。为了更好地总结和测试您的学习结果,本系列文章还将提供与每个知识点相对应的面试题和参考答案。如果您对本系列文章有任何建议,或者有任何疑问,您也可以按照公众号【Java Technology Rivers and Lakes】与作者联系,我们欢迎您参与本文档的创建和修订。系列博客文章。 Java中的包概念Java中的包是一种封装一组类,子包和接口的机制。该软件包用于:防止命名冲突。例如,可以有两个名为Employee的类,college。staff。cse。Employee和college。staff。ee。Employee可以更轻松地搜索/定位和使用类,接口,枚举和注释来提供受控制的访问权限:保护和默认具有程序包级别的访问控制。
缺省成员(没有任何访问说明符)只能由同一程序包中的类访问。包可以视为数据封装(或数据隐藏)。我们需要做的就是将相关类放入包中。之后,我们可以简单地从现有软件包中编写一个导入类,并在我们的程序中使用它。包是一组相关类的容器,其中一些相关类可以访问,而其他类则保留用于内部用途。我们可以在程序中重用程序包中尽可能多的现有类。为了更好地组织类,Java提供了一种包机制来区分类名称的命名空间。程序包的作用1。在同一程序包中组织相似或相关的类或接口,以方便类的搜索和使用。 2。像文件夹一样,程序包也使用树状目录存储。同一包中的类的名称不同,并且不同包中的类的名称可以相同。在两个不同的程序包中同时调用相同的类名时,应添加程序包名以进行区分。因此,该程序包可以避免名称冲突。 3。软件包还定义了访问权限。只有具有包访问权限的类才能访问包中的类。 Java使用软件包来防止命名冲突,访问控制,并提供搜索和定位类,接口,枚举和注释。然后应这样保存其路径。包的功能是将不同的Java程序按类别存储,这更便于其他Java程序调用。包(包)可以定义为一组互连的类型(类,接口,枚举和注释),为这些类型提供访问保护和名称空间管理功能。以下是Java中的一些软件包:-基本类-包含输入和输出函数的函数开发人员可以打包一组类和接口,并定义自己的软件包。值得提倡在实际开发中做到这一点。在您自己自己完成了类的实现之后,请对相关的类进行分组,以使其他程序员更容易确定相关的类,接口,枚举和注释。因为该程序包创建了一个新的命名空间(名称空间),所以不会与其他程序包中的任何名称发生命名冲突。
实现访问控制和使与定位相关的类更加容易。包中包类的目录结构有两个主要结果:包名成为类名的一部分,正如我们前面所讨论的。程序包名称必须与相应字节码所在的目录结构匹配。以下是在Java中管理自己的文件的简单方法:将类,接口和其他类型的源代码放入文本中。该文件的名称就是这种类型的名称,扩展名为。java。例如://文件名:Car。java包vehicle;公共类Car {//类实现}接下来,将源文件放在目录中,该目录应对应于类所在的包的名称。 \ Vehicle \ Car。java现在,正确的类名和路径将如下所示:类名-》 vehicle。Car路径名-》 vehicle \ Car。java(在Windows系统中)通常,公司使用其Internet域名反转表单以用作其程序包名称。例如:Internet域名为runoob。com,所有软件包名称均以com。runoob开头。软件包名称的每个部分都对应一个子目录。例如:有一个包,此包包含一个名为Runoob。java的源文件,然后对应,应该有一系列的子目录,如下所示:每个定义的类,接口和其他类型创建一个不同的输出文件,名称输出文件的名称是此类型的名称,加上。class作为扩展名后缀。例如://文件名:Runoob。java包com。runoob。test;公共类Runoob {}类Google {}现在,我们使用-d选项来编译该文件,
放置它们的目录应与软件包名称相对应。但是,不需要。class文件的路径与相应。java的路径相同。您可以分别安排源目录和类目录。 \ Sources \ com \ runoob \ test \ Runoob。java \ classes \ com \ runoob \ test \ Google。class这样,您可以将类目录共享给其他程序员,而无需透露源代码。使用此方法来管理源代码和类文件,可使编译器和Java虚拟机(JVM)查找程序中使用的所有类型。类别目录的绝对路径被调用。在系统变量中设置。编译器和Java虚拟机通过将包名称添加到类路径来构造。class文件的路径。 \ Classes是类路径,包名称是com。runoob。test,编译器和JVM将在\ classes \ com \ runoob \ test中找到。class文件。一个类路径可能包含多个路径,并且多个路径应由分隔符分隔。默认情况下,编译器和JVM查找当前目录。 JAR文件包含与Java平台相关的类,因此默认情况下,它们的目录位于类路径中。
方便查找和使用该类。 ,2。与文件夹一样,程序包也使用树状目录存储方法。同一包中的类名称不同,并且不同包中的类名称可以相同。当在两个不同的程序包中同时调用具有相同类名的类时,应添加程序包名以区分它。因此,该程序包可以避免名称冲突。 3。软件包还定义了访问权限。只有具有包访问权限的类才能访问包中的类。创建包创建包时,需要给包起一个适当的名称。之后,如果另一个源文件包含此程序包提供的类,接口,枚举或批注类型,则必须将程序包声明放在此源文件的开头。程序包声明应位于源文件的第一行。每个源文件只能有一个包声明,并且应该将其应用于每种文件类型。如果源文件不使用包声明,则将类,函数,枚举,注释等放置在未命名的包中。例子让我们看一个例子,这个例子创建了一个叫做动物的包。通常使用小写字母命名,以避免与类和接口名称冲突。添加接口动物包(interface):接下来,在同一包中加入该接口的实现:import关键字才能使用包的成员,我们需要在Java程序中显式导入该包。使用“导入”语句完成此功能。在java源文件中,import语句应位于package语句之后。在定义所有类之前,可以没有任何条目或有多个条目。语法格式为:1 import package1 【。package2…】。 (类名| *);在一个程序包中,一个类想要在该程序包中使用另一个类,则可以省略该程序包的名称。通常,公司以相反的形式使用其Internet域名作为其程序包名称。例如:Internet域名为runoob。com,所有软件包名称均以com。runoob开头
例如:有一个com。runoob。test程序包,此程序包包含一个名为Runoob。java的源文件,然后相对应,应该有一系列如下所示的子目录:1 \ com \ runoob \ test \ Runoob。java常见的jar包Java软件包的类型有内置的软件包和用户定义的软件包。内置软件包由Java API的大量类组成。一些常用的内置软件包是:1)java。lang:包含语言支持类(例如分类,用于定义基本数据类型和数学运算)。包将自动导入。 2)java。io:包含支持输入/输出操作的类别。 3)java。util:包含实现数据结构(如链表,字典和支持)的实用程序类;用于日期/时间操作。 4)java。applet:包含用于创建Applet的类。 5)java。awt:包含用于实现图形用户界面组件(例如按钮,菜单等)的类。 6)java。net:包含支持网络操作的类。 Dt。jar的中文翻译是:dt。jar是BeanInfo文件的DesignTime存档。 BeanInfo文件用于告诉集成开发环境(IDE)如何显示Java组件以及如何让开发人员根据应用程序对其进行自定义。本文中提到了几个关键字:DesignTime,BeanInfo,IDE,Java组件。实际上,dt。jar是DesignTime Archive的缩写。那么什么是DesignTime。什么是DesignTime?翻译转化为设计时间。实际上,任何了解JavaBean的人都知道术语设计时间和运行时的含义。设计时间(DesignTIme)是指通过在开发环境中添加控件,设置控件或表单属性来构建应用程序的时间。
因此,现在要了解上述翻译,实际上dt。jar在swing控件中包含BeanInfo,并且IDE的GUI设计器需要此信息。那么,让我们看看dt。jar中有什么?以下是dt。jar内容的屏幕截图:从上面的屏幕截图中可以看出,所有dt。jar都是Swing组件的BeanInfo。那么BeanInfo到底是什么?什么是BeanInfo? JavaBean和BeanInfo有很大的关系。 Sun开发的JavaBean规范很大程度上是为IDE准备的,它允许IDE以可视方式设置JavaBean属性。如果在IDE中开发可视化应用程序,则需要通过属性设置来自定义组成应用程序的各种组件。 IDE允许开发人员通过属性编辑器以可视方式设置组件的属性。通用IDE支持JavaBean规范定义的属性编辑器。组件开发人员发布组件时,通常会捆绑与该组件相对应的属性编辑器,以便开发人员可以轻松地在IDE环境中使用属性编辑器。自定义组件。 JavaBean规范定义了通过java。beans。PropertyEditor设置JavaBean属性的方法,描述了可以通过BeanInfo定制JavaBean的哪些属性,还描述了可定制属性与PropertyEditor之间的对应关系。 BeanInfo和JavaBean之间的对应关系是通过两者之间的标准命名建立的:与JavaBean对应的BeanInfo采用以下命名约定:BeanInfo。当JavaBean在IDE中使用与其属性编辑器相同的组件注册时,在开发界面中自定义JavaBean时,IDE将根据JavaBean规范找到对应的BeanInfo,然后根据中的描述信息找到JavaBean属性描述。 BeanInfo(是否处于打开状态以及使用哪个属性编辑器)为JavaBean生成特定的开发和编辑界面。
IDE显示了这些组件以及开发人员如何基于这些BeanInfos对其进行自定义。 Rt。jar rt。jar是运行时的存档。 Java基本类库,即Java文档中所有类的类文件。默认情况下,rt。jar位于Root Classloader的加载路径中,并且不需要在Claspath中配置此变量。同时,jre / lib目录中的其他jar:jce。jar,jsse。jar,charsets。jar,resources。jar全部在Root Classloader中。 * 。java文件的奥秘* 。java文件简介。java文件您可以将其视为一个文本文件,此文件是用Java语言编写的程序,或者该任务的代码块。 。class文件本质上是一个二进制文件。它通常是。java文件通过javac命令(jdk本身提供的工具)生成的文件,并且可以由jvm(java虚拟机)加载此文件(类加载),然后输入java来解释实施,即运行您的程序。您也可以这样比较:。java和。c,。cpp,。asm等文件本质上是相同的,但是用一种语言来描述您要如何完成某件事(一项任务),并且该语言计算机本身没有办法知道它的含义,仅适用于程序员本身。程序员可以通过语言本身(语法)来描述或组织此任务,这也称为编程。最后,当然,您需要计算机根据您的意图运行程序。目前,您必须进行翻译(编译,汇编,链接和其他复杂过程),才能将其转换为机器可理解的指令(这就是每个人所说的机器语言,机器语言本身也是一种编程语言,但是程序很难写,很难阅读,基本上没有办法维护)。这里的。class文件本质上对应于计算体系结构中的一种机器语言(这里的机器称为JVM),因此JVM本身可以在此处直接运行。class文件。