打包说不存在

时间:2018-11-10 03:26:50

标签: java package

我正在用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软件包?如果我理解软件包错误,那么请解释我做错了什么是正确的。

1 个答案:

答案 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