zyf4005 2016-04-30 02:57 采纳率: 100%
浏览 2535

java中 包里存放的是类名.java 还是类名.class?

问题1 java中 包里存放的是类名.java 还是类名.class? 类名.java文件一定要放在所 属包目录下吗?
问题2.见下代码
package packb;
public class DemoB
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

package packa;
class  DemoA
{
     public static void main(String[] args) 
     {
        packb.DemoB  b = new packb.DemoB();
        System.out.println("Hello World!");
      }
}

DemoB.java 和 DemoA.java都存放在D:\延飞目录下;
    现在问题为:
    1.D:\>javac -d D:\延飞\myclass DemoB.java //把DemoB.java编译后生成的packb.DemoB.class文件放在了D:\延飞\myclass下;
    2.D:\延飞>javac -d D:\延飞\myclass DemoA.java
 DemoA.java:6: 错误: 程序包packb不存在
               packb.DemoB  b = new packb.DemoB();
                     ^
 DemoA.java:6: 错误: 程序包packb不存在
            packb.DemoB  b = new packb.DemoB();
                                      ^
 2 个错误    //
    疑问:2.1:这里为啥程序包packb不存在?这里的程序包packb指的是D:\延飞\my class下的packb.DemoB.class文件还是D:\延飞下的DemoB.java?
               2.2假如程序包packb指的是D:\延飞\myclass下的packb.DemoB.class文   件,那么这已经是.class文件了,packb.DemoB  b = new packb.DemoB();还能用吗?packb.DemoB  b = new packb.DemoB();不是调用的DemoB.java文件吗?
                2.3假如程序包packb指的是D:\延飞下的DemoB.java文件,那么DemoB.java不是也在D:\延飞下的吗,怎么会程序包packb不存在?

        3.D:\延飞>set classpath= d:\延飞\myclass
               3.1这里设置的classpath=d:\延飞\myclass和系统环境变量classpath有何关系,系统classpath设置的是.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;   执行的时候是怎么顺序查找的?

        4.D:\延飞>javac -d d:\延飞\myclass DemoA.java 编译通过了

        以上疑问请各位大神帮忙分析下, 谢谢!
  • 写回答

6条回答

  • zsw_2015 2016-05-02 12:25
    关注

    是编译好的 **.class 文件

    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥20 求用stm32f103c6t6在lcd1206上显示Door is open和password:
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法