java中类的默认访问修饰符的问题,问题如下:

我定义了一个类,classA{},因为前面没有访问修饰符,所以范围为default,只能在同一个包内部访问,但是:我在同一个包下的另一个java文件中,又能够定义clas... 我定义了一个类,class A{},因为前面没有访问修饰符,所以范围为default,只能在同一个包内部访问,但是:我在同一个包下的另一个java文件中,又能够定义class A{};这两个A不矛盾吗??? 展开
 我来答
chengjf0526
2012-09-26
知道答主
回答量:9
采纳率:0%
帮助的人:10.3万
展开全部
如果都不是内部类,肯定是矛盾的
首先没用public修饰时,类名和文件名可以不一致,故定义两个不同名文件,却定义了两个同名类并不奇怪
其次你没有提示问题的最大可能是你的编译器不够智能,没有检测到该矛盾,使用eclipse等工具正常情况下是会检测出来的
再次,你可以这样理解,每个类都需要编译成class文件才能执行,按照上面的方式定义,两个class文件应该被编译到同一个位置,从操作系统的角度看,同样是矛盾的.
百度网友72e7a7f1e
2012-09-26 · 超过20用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:54.8万
展开全部
你是不是这样写的?

public class Outer1{
class A{
}
}
public class Outer2{
class A{
}
}

其中Outer1,Outer2 在想同的package中?
这两个A是内部类。访问时是package.outer1.A 和 package.outer2.A
两者是能区分的。
如果把A类移到Outer类声明外,就会报冲突了!
追问
就是A类移动到外面啊,但是却没有发生冲突,这正是我所疑惑的地方啊
追答
解决了就好了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanqian2007
2012-09-26 · 超过16用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:42.3万
展开全部
肯定是不能这样定义的,同一个包下不可能有同名的类。除非你定义的是内部类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
特地奶受骗者
2012-09-26 · TA获得超过168个赞
知道答主
回答量:27
采纳率:0%
帮助的人:9.1万
展开全部
另一个java文件中定义了一个A{}的话,是不是内部类?否则两个java文件都为A.java,怎么可能?内部类的话,是不是只有它的外部类来调用?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西梅舞电影
2012-09-26
知道答主
回答量:36
采纳率:0%
帮助的人:9.9万
展开全部
不能.我刚在eclipse里面试了...你肯定是有个是定义的内部类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
初音behind
2012-09-26
知道答主
回答量:34
采纳率:0%
帮助的人:6.7万
展开全部
其中一个肯定是内部类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你的位置还在稳DVbf8
2012-09-26
知道答主
回答量:15
采纳率:0%
帮助的人:7.6万
展开全部
矛盾
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式