一个JAVA虚拟机(VM)中,可以有多个相同(包名也相同)的类吗?
也就是说,比如,启动一个虚拟机,里面可以有两个cn.wei.A的类吗?看代码中,不管是import还是Class.forName方法,都是跟一个完整包名的类名,但如果有两...
也就是说,比如,启动一个虚拟机,里面可以有两个cn.wei.A的类吗?看代码中,不管是import还是Class.forName方法,都是跟一个完整包名的类名,但如果有两个一样的,会怎么样?其实这问题遇到过,比如用的第三方的JAR,如果两个版本的JAR都放在CLASSPATH中时,好象是只加载一个(不知如何验证)。问有没有办法在程序代码中去控制这个事情,还有,在代码中,能添加或修改CLASSPATH吗?在JBOSS的多个EAR中,如果有相同的JAR包,此时那些STATIC的变量是如何存储的,能不能控制它存成一份或多份?
展开
3个回答
2014-03-05
展开全部
类别可以相同,比如java.sql,Date和java.util.Date.
但如果包名和类名完全相同是不可能的。会冲突。因为不知道引用哪个类。
但如果包名和类名完全相同是不可能的。会冲突。因为不知道引用哪个类。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
快又稳
2024-10-23 广告
2024-10-23 广告
广州快又稳网络科技有限公司是一家集技术研发、产品创新、服务优化于一体的高新技术企业。公司自成立以来,始终秉承“网络使人类缩进距离,我们让网络快又稳”的核心理念,致力于为全球客户提供高效、安全、易用的互联网解决方案及信息技术服务。在数字时代,...
点击进入详情页
本回答由快又稳提供
2014-03-05
展开全部
包名和类名完全相同时可以同时存在的,但是调用时,是随机调用其中一个包的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-05
展开全部
不行。加载类包时,它应该是就近原则。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询