java中的包和c中的库有区别吗++

vsnjm48y  于 2021-06-30  发布在  Java
关注(0)|答案(5)|浏览(228)

就目前的情况来看,这个问题并不适合我们的问答形式。我们希望答案能得到事实、参考资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或广泛讨论。如果您觉得这个问题可以改进,并可能重新打开,请访问帮助中心寻求指导。
7年前关门了。
我想知道为什么在java中我们有包而不是库。我和朋友们就这个问题进行了很多讨论。他们告诉我们可以把包看作是库。既然c++已经有了库的概念,那么为什么需要创建一个名为packages的新名称呢。
p、 s:如果有人打电话给图书馆,纠正他是否真的值得。

kfgdxczn

kfgdxczn1#

包是用于组织类的java构造。它们提供:
用于放置类的命名空间
一种访问级别(包访问),允许包中的类共享字段
就是这样;实现者如何处理这个组织特性取决于他们。
图书馆是另一个组织概念。但是,库的目的是提供一个与外部世界定义良好的接口和一个内部实现,以便根据需要执行。
两者都是组织思想,库通常由包组成(如果用java实现的话)。然而,他们有不同的意图,所以给他们起不同的名字是明智的。通常,一个小的库可以放在一个包中,所以用一个来表示另一个可能不会让人混淆。然而,它们并不相同。

x4shl7ld

x4shl7ld2#

包和库是不同的概念。
c/c++中的库是相关函数/过程的集合。该库包含字符串操作函数。这个库包含处理正则表达式等的函数。。。
java中的包被设计为支持面向对象的设计原则(c出现在oo出现之前)。java中的包是一个相关类的逻辑集合,这些类应该能够一起进行推理,就像您对单个类/模块进行推理一样。

ffdz8vbo

ffdz8vbo3#

包是名称空间。有不可计数的“util”类,但是您可以唯一地标识它们,因为它们的完全限定名是package+类名。
库是一组同时提供特性/功能的类。

cig3rfwq

cig3rfwq4#

在java世界中,逻辑库是一组类,通常使用一些公共分母包名,例如org.apache.commons.io,打包并作为jar文件分发。有时库可以由几个jar组成,通常称为框架、工具包、平台。。。
当然,公共库定义也适用于这里。
java包是命名空间文件夹组织的形式,是完全限定名的一部分。是的,实际上这个类是由package+简单类名标识的,除了默认的package是未命名的package。它背后还有一个逻辑,比如包范围,导入。。但这个问题太多了。
这里是最大的java库、工件或任何你称之为maven库的东西。

rryofs0p

rryofs0p5#

包不是真正的库。如果将jar文件视为一个单独的库,就更接近了。包之所以有用,是因为它们为项目提供了逻辑结构,如目录层次结构。另外,java在对象中维护运行时信息,包路径是标识特定类的唯一方法,因为可以有多个同名的类。
在c/c++中,对运行时信息的支持有限,因此情况有所不同。

相关问题