A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

DemoA
  1. package pack;
  2. /*
  3. * 包与包之间进行访问,被访问的包中的类以及类中的成员需要public修饰*/
  4. class DemoA {
  5.          void show(){
  6.                  System.out.println("show");
  7.          }
  8. }
复制代码


DemoB

  1. package pack;
  2. public class DemoB {
  3.         public static void main(String args[]) {
  4.                 DemoA a=new DemoA();
  5.                 a.show();
  6.         }
  7. }
复制代码



同样的代码为什么在Eclipse下可以,cmd下不行呢
同包下的类访问 可以不用 包名.类名全路径啊
之前一直这么开发,毁三观啊

2014-09-11_172458.png (44.52 KB, 下载次数: 1)

2014-09-11_172458.png

2014-09-11_172527.png (12.35 KB, 下载次数: 4)

2014-09-11_172527.png

2014-09-11_172734.png (166.2 KB, 下载次数: 1)

2014-09-11_172734.png

2 个回复

倒序浏览
昨天有人问过类似的问题。答案就是:这属于Java坑爹的一面。它在编译时不强制你的源文件和class文件在文件系统中的位置和源代码中写的package语句保持一致。但却在运行时按package指定的文件夹结构去搜索class文件。

当然,eclipse作为解放生产力的IDE,上述小case必须帮你搞定了,至于cmd,只能自己动手丰衣足食了
回复 使用道具 举报
懂了,分这么高了,还常来逛

2014-09-11_180256.png (57.4 KB, 下载次数: 1)

2014-09-11_180256.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马