zoukankan      html  css  js  c++  java
  • eclipse欺骗了我

    Java源文件(.java)和Java的字节码文件(.class)跟 package 是个什么关系?

    平时使用 eclipse 的时候,发现 .java 文件目录必须和 package 包名保持一致,如果不一致,就会报错。

    就是说,如果 User.java 使用 package com.domain; 那么 User.java 就必须放在项目源码目录 src 下的 com/domain 目录,编译后的字节码文件 User.class 必须放在字节码目录 bin 下的 com/domain 目录。

    于是乎,我就一直以为 .java 文件和 .class 文件的存放目录都是和 package 相对应的。

    今天无聊,就试着使用记事本练练手,在DOS环境下编译运行,无意中发现其实并不是那么回事儿。

    .java 文件放在哪里都可以通过编译,但是要运行 .class 文件的话,那么 .class 文件就必须放在与 package 包名对应的目录下。

    源文件真就是个文件而已,JVM真正在意的只有字节码文件,.class 文件符合规范能通过 package 找到就行,它才不管 .java 文件你放在哪儿呢。

    那么,为什么 eclipse 强制要求源文件必须也要放在与 package 对应的目录呢?

    我猜想,大概是与其智能化管理和代码提示有关。 

  • 相关阅读:
    时间序列数据
    python--模块
    聚类模型
    数模写作
    分类问题
    图论的基本概念
    706. Design HashMap
    第七讲异方差、多重共线性、逐步回归
    187.Repeated DNA Sequences
    C语言堆内存的分配和使用
  • 原文地址:https://www.cnblogs.com/litmmp/p/4909220.html
Copyright © 2011-2022 走看看