什么是java的命名空间?C++中命名空间是什么意思
大家好,今天来为大家分享什么是java的命名空间的一些知识点,和C++中命名空间是什么意思的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
java里命名空间可以别名吗、
Java没有类别名的写法...
个人的看法
1.实际上需要写类名的地方不多,一般都是跨多个包,而且只在初始化的时候使用。
2.而且不像C#, java中一个java文件对应一个class,使用类的数量比C#要少。
对于1,2点,像Spring,EJB之类的框架都是为了降低耦合,直接降低import外部依赖的数量,降低类之间的依赖。
3.如果外部的重名类只在内部使用,不作为接口,为了省打字,可以建一个内部子类作为别名的
比如
classProject{//Project.java
staticprivateclassMyListextendsjava.util.List{}
//其他代码
}
但不推荐呢..
C++中命名空间是什么意思
既“命名空间”,也称“名称空间”
VS.NET中的各种语言使用的一种代码组织的形式通过名称空间来分类,区别不同的代码功能同时也是VS.NET中所有类的完全名称的一部分如同名字一样的意思,NameSpace:名字空间,之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了,为了解决这个问题,引入了名字空间这个概念,通过使用using namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的.这样一来就不会引起不必要的冲突了.
简单举个例子说明:
比如你说天安门,如果你是在北京,大家都知道你说的北京的天安门
但是倘若你不在北京,在别的城市也许也有个叫天安门的地方
这个时候你光说天安门就不能准确的指定一个地点
所以你要声明一下是哪里的天安门
这个声明其实就是命空间的意义所在
java的包和命名空间有什么区别
命名空间只有在C#中使用,它与java的包区别如下:
相同点:
1、都是为了重用性(reusebility)——软件工程中一个非常重要的目标。
2、C#里面的命名空间和java中的包都属于访问权限的控制机制。
不同点:
1、C#命名空间只是一种逻辑上的结构,它允许所组织的类文件的物理存放位置与逻辑结构不一致,而Java中类文件的物理结构必须与逻辑结构一致。
2、Java的package本身没有子包的概念,所有package都是并列的关系,没有谁包含谁的问题。比如:org.dominoo.action和org.dominoo.action.asl之间绝对没有包与子包的关系。它们是各自独立的包,各自拥有自己的class/interface的集合。在org.dominoo.action.asl的某个java文件里,如果想引用org.dominoo.action里的某个class/interface,则必须import org.dominoo.action。
C++/C#的namespace方案则不然,一个namespace可以有自己的sub-namespace,我们不妨将namespace也称为package,那么C++/C#的package之间就可能存在包与子包的关系。
3、Java中使用import语句而C#中使用using namespace语句。
Java 中的包机制与C++命名空间的区别
1.java里只有类,所以只需要把类定义在各自的包里就可以避免重复了.c++的命名空间里,不但可以包括类,还可以包括函数,变量,模板等.
2.java里在类的第一行用packge包名就可以把类放到包里了
c++里用namespace命名空间名{类,函数,变量,模板等};
一般意义上,C++中多了头文件,里面可以进行函数定义,变量声明。。
这个问题关键应该在于对于两种语言的特点的了解。
Java里面都是CLASS,放包里,而且名字不能重复。
C++可以同名,但是后缀不能一样。。
都是一种对源程序进行分类打包,便于调用
如果你还想了解更多这方面的信息,记得收藏关注本站。