我有两个类Owning和OwningAccessor。这些文件位于同一目录中。
public class Owning {
String _name = "";
public void printBanner()
{
}
public void printOwning(double amount)
{
printBanner();
//print details
System.out.println("name:" + _name);
System.out.println("amount:" + amount);
}
}
public class OwningAccessor {
public void access()
{
Owning o = new Owning();
o.printOwning(500);
}
}
尝试使用进行编译OwningAccessor
时javac -cp . OwningAccessor.java
,出现编译错误。
symbol : class Owning
location: class smcho.OwningAccessor
Owning o = new Owning();
^
OwningAccessor.java:6: cannot find symbol
symbol : class Owning
location: class smcho.OwningAccessor
Owning o = new Owning();
^
这怎么了 该代码在Eclipse IDE下可以正常编译。
好的,假设您将代码分发到文件中,如下所示
myproject
├── out
└── src
├── OwningAccessor.java
└── Owning.java
转到命令提示符,然后将目录更改为myproject
。在那里,发出以下命令:
javac -d out -sourcepath src src/OwningAccessor.java
我刚刚对其进行了测试,并且效果很好。您编译的类将位于以下out
文件夹中:
.
├── out
│ ├── OwningAccessor.class
│ └── Owning.class
└── src
├── OwningAccessor.java
└── Owning.java
编译一个类将触发所有其他依赖类的编译。编译器将自动在src
文件夹中查找它们。
问题内容: 我已经使用命令在 CentOS 5.5版 机器中安装了Java 。但是我无法使用javac编译类。 我是否需要安装其他软件包? 我试图找到可执行文件,但无法找到它。 链接如下: -> -> 我已经看到了以下输出: 问题答案: 您仅安装了Java Runtime Environment(JRE),其中不包含。为此,您必须安装OpenJDK开发环境。您可以安装或,两者都包括。 顺便说一句:
当我试图编译一个Java程序时,它说Java命令无法识别。我已将JDK目录链接附加到路径,因此它看起来如下所示: 我遵循了指南,但仍然无法识别“javac”命令。 我使用windows 10。
好吧,我是新来的Java,并试图从命令提示符运行一个java程序(因为Sublime编译和运行它的小东西,但不允许用户输入和东西)。 我将命令提示符设置为我有我的文件的文件夹,称为Learner.java. 我在环境变量中为JDK bin设置了一个路径,并创建了一个JAVA_HOME变量,其中包含JDK bin的值(其他一些帖子建议)。 在我讨论这个问题之前,这是我的代码: 如你所见,这是一个以“
这里有一个类似的答案:如何在Java中将函数作为参数传递? 但提供的正确答案不起作用。我有一门课: 在函数内部我试图将传递到,但我得到的错误是: 找不到符号 符号:类Callable 我不知道为什么。 另外,我尝试使用返回类型字符串作为xMethod,您能传递一个返回类型不同的函数吗?
问题内容: 我使用时代码工作正常 吗?在我看来这很奇怪。 (错误显示在终端上) 问题答案: 这是 Arrays 类的静态方法。 您应该像这样调用它: 请注意,您仍然必须像这样导入Arrays类: 或者像其他人提到的那样,如果您进行静态导入,则可以省略类名。 我认为这样做对可读性更好。
(菜鸟失误,我确定。) 我是计算机科学专业的一年级学生,正在尝试用代码编写作业程序; 但是在编译时,我得到了错误; Lab10Ex1.java:10: 错误: 找不到符号 System.out.print(n 1);^ 符号:变量n 位置: 班级 Lab10Ex1 如果有人能向我解释我做错了什么,或者如何纠正它,我会非常感激。