我正在用Java进行编码以测试软件包。我在Demo中有一个名为Demo的文件夹,我有2个文件夹,一个名为Say,另一个文件夹称为OtherMainClass。
在Say文件夹中,我有一个名为SayClass.java的类 这是代码:
% MATLAB R2017a
W = 60*randn(N,1);
figure, hold on, box on
hx = histogram(X,'Normalization','pdf')
hw = histogram(W,'Normalization','pdf')
legend('randi[1,60]','60*randn','Location','southeast')
xlabel('Result')
ylabel('Observed Estimated Density')
title({'randi([a b],N,1) vs 60*randn(N,1)';['N = ' num2str(N)]})
在OtherMainClass文件夹中,我有一个名为OtherMain.java的文件,代码为:
package Say;
public class SayClass {
public void sayTestMessage() {
System.out.println("This is a test");
}
}
当我编译OtherMain.java时,出现以下错误:
import Say.*;
public class OtherMain {
public static void main(String[] args){
SayClass s = new SayClass();
s.sayTestMessage();
}
}
为什么Java找不到Say软件包?如果我理解软件包错误,那么请解释我做错了什么是正确的。
答案 0 :(得分:0)
导入OtherMain时必须使用以下语句
import Demo.Say.SayClass
包名称约定也为小写,因此请重构您的代码以使用从说到演示和演示到演示的过程。 并且在创建SayClass时,请使用包demo.say。所以你的代码应该像
package demo.say;
public class SayClass {
public void sayTestMessage() {
System.out.println("This is a test");
}
}
将所有软件包重命名为小写之后,即可使用
import demo.say.SayClass
或
import demo.say.*
在OtherMain类中
建议: 最好使用标准社区版本的IDE,例如Intellij Idea,Eclipse等,它可以自动处理包装的命名,约定以及许多其他家庭护理用品
并仔细阅读Java命名约定文档/教程,例如https://www.javatpoint.com/java-naming-conventions