包声明不起作用

时间:2012-12-21 05:29:35

标签: java compilation

package com;

class Account {

    public double balance;

    public Account(double initBalance) {
       balance = initBalance;
    }
}

生成Account.class文件,但它位于同一文件夹中。未创建名为“com”的文件子文件夹。 其实我试着直接编译。现在我可以看到编译java文件夹而不指定根目录是完全错误的。 (-d。)

2 个答案:

答案 0 :(得分:1)

如果从命令行编译代码,则可以使用以下命令自动创建与包对应的文件夹: -

javac -d . Account.java

这将在当前文件夹中创建一个文件夹com,放置Account.java,然后将类文件自动移动到该文件夹​​。

请注意,适用于class files的套餐。您可以将.java文件放在任何位置。但是,您的相应.class文件应位于与package文件中.java对应的文件夹中。

例如,请参阅以下目录结构: -

root --+ Account.java 
       |
       +-- com --Account.class  (com is the package folder)

因此,Account班级的完全限定名称变为 - com.Account

然后,为了让其他类找到您的Account类,请将类路径设置为com文件夹(注意: - 不要包含{{ 1}}类路径中的文件夹。)

答案 1 :(得分:0)

首先,包装没什么,它是一个文件夹(非技术上)。因此,请确保.java是在com文件夹/包中创建的。此外,com不是任何文件夹/包的一部分。如果你正在开发像Netbeans这样的IDE,那么右键单击打包,新建,然后 java类

<强>更新

如果您没有使用任何IDE,请检查类路径。如果E:\data\fold\java1mods\Module2\excercise4\BankPrj\是您的class path。然后,创建com文件夹并在同一目录中创建.java文件,即com