社区
Java SE
帖子详情
这种情况是包内还是包外?
aipb2008
2008-03-21 11:40:09
//A.java 文件所在目录是…\zhum\test
package zhum.test;
public class A{
}
//B.java 文件所在目录是…\zhum\test
public class B{
}
如上,B和A是在“默认包”还是B在A所在包外,还是B和A在zhum.test包?
...全文
98
10
打赏
收藏
这种情况是包内还是包外?
//A.java 文件所在目录是…\zhum\test package zhum.test; public class A{ } //B.java 文件所在目录是…\zhum\test public class B{ } 如上,B和A是在“默认包”还是B在A所在包外,还是B和A在zhum.test包?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iihero
2008-03-22
打赏
举报
回复
B放到那个目录里,实际上没什么意义。
在一个工作目录下边,必须有一个公共的root路径,那样才有比较意义。
不错,B是默认包,A的包为zhum.test
但是两者似乎不能同时编译成功。
只能分别编译了。
而且想让他们在运行时都有效,就必须有两个path要放到classpath里头。
Dan1980
2008-03-22
打赏
举报
回复
补充5楼,前提是A是public的,否则,无论import与否,B都不能访问A。
Dan1980
2008-03-22
打赏
举报
回复
3楼对!
如果B在默认包,那么B.class必须出现在ClassPath对应的根目录下。否则加载B时会抛出异常。
假设B.class的位置没有问题,那么B必须import zhum.test.A才能访问A。
老紫竹
2008-03-22
打赏
举报
回复
1 你2个都单独编译没有问题
2 你2个一起编译会编译错误
3 你运行会找不到类
OVER
zapdos
2008-03-22
打赏
举报
回复
JVM首先在同一目录下找CLASS
找不到,再在classpath的包里面找
根据这个规则判断就可以了
aipb2008
2008-03-22
打赏
举报
回复
我实际测试了下
如果B中package zhum.test;
OK //这样他们在同一个包,即使A不是public也可以访问
如果B中import zhum.test.A;
OK //导入A,A相对B是包外,必须要A是public才可以访问
如果B中什么都不加
B.java:5: 无法访问 A
错误的类文件: .\A.class
类文件包含错误的类: zhum.test.A
请删除该文件或确保该文件位于正确的类路径子目录中。
A a = new A();
^
1 错误 //这个错误信息看不明白
所以我得到的结果是:A处于zhum.test包。而B处于zhum\test目录下的默认包。
不知道楼上的大哥们提到的classpath与这个何关?(zhum.test的classpath是正确设置的)
aipb2008
2008-03-21
打赏
举报
回复
回1楼,就看成class文件也可以
换个问法吧
假如现在把从class A的public去掉,在B中能引用A吗?
dracularking
2008-03-21
打赏
举报
回复
理论上都在zhum.test包内 只是B不声明正确的package是非法的
Caesary
2008-03-21
打赏
举报
回复
B在默认包,A在zhum.test包中
薛定谔之死猫
2008-03-21
打赏
举报
回复
包其实说的是.class文件位置,和Java源文件无关,并且这些都是相对的,默认包也是相对你执行时的工作目录来说的
区块链实战钱包开发
全节点钱包 除了保存私钥外,全节点钱包还保存了所有区块的数据,著名的是bitcoin-core。 6.中心化钱包 顾名思义,就是在交易过程中通过某平台或银行机构等交易的钱包,如oklink提供的保险柜。 7.轻钱包 只保存跟...
Java 包(什么是包?)
包概念导入包中的类静态导入将类放到包中基本规则操作步骤包的访问权限控制常见的系统包 概念 包(package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如:你在代码中写了一个 Test 类. 然后你的舍友也可能写一个 Test 类. 如果出现两个同名的类, 就会冲突, 导致代码不能编译通过。 导入包中的类 Java 中已经提供了很多现成的类供我们使用.当我们在idea中通过.操作符访问时会自动弹出很多包 public class Text { public static voi
【Java反射】自动扫描某个
包内
的所有类的简单实现
【Java反射】自动扫描某个
包内
的所有类的简单实现 学习java反射的时候,了解到可能存在某种场景需要扫描一个
包内
的所有类的需求,在各个框架中都存在这种需求,配合注解的使用能够实现强大功能,所以尝试实现了一下。 获取包路径 获取
包内
所有文件名 根据文件名得到反射Class对象 1. 获取包路径(扫描包) 这一部分的功能由于本人原因可能描述的不是很好 这个部分我主要使用的是通过类加载器ClassLoader来进行扫描,之所以使用类加载器的原因是因为源代码java文件一个文件中可能会包含多个类,不能
简述包过滤防火墙的过滤原理是什么?
简述包过滤防火墙的过滤原理是什么? 包过滤防火墙也称分组过滤路由器,又叫网络层防火墙,它一般是通过检查单个包的地址,协议,端口等信息来决定是否允许此数据包通过,有静态和动态两种过滤方式。这种防火墙可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。...
只有满足连接条件的记录才包含在查询结果中,这种连接为()
题目:只有满足连接条件的记录才包含在查询结果中,这种连接为() A、左连接 B、右连接 C、内部连接 D、完全连接 结果:C 解释: 首先选项中的左连接是左外连接,右连接是右外连接,内部连接是内连接,其实这道题就是考核你对“内连接、左外连接、右外连接、完全连接、交叉连接”的理解,上面虽然没有交叉连接,但是这个概念有的时候也会出现,所以在这个地方也做一点解释。 内连接: 用inner join连接两个表,其中inner可以省略,分为等值连接(连接条件中的值相等)、非等值连接(连接条件中通过非等于号得出结果)、
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章