Пакет Скажи не существует - PullRequest
0 голосов
/ 10 ноября 2018

Я кодировал в Java, чтобы проверить пакеты. У меня есть папка Demo внутри Demo. У меня есть 2 папки, одна с именем Say, а другая с именем OtherMainClass.

в папке Say у меня есть класс с именем SayClass.java вот код:

package Say;

public class SayClass {
public void sayTestMessage() {
    System.out.println("This is a test");
  }
}

в папке OtherMainClass У меня есть файл с именем OtherMain.java, вот код:

import Say.*;

public class OtherMain {
   public static void main(String[] args){
      SayClass s = new SayClass();

      s.sayTestMessage();
   }
}

при компиляции OtherMain.java я получаю следующую ошибку:

OtherMain.java:1: error: package Say does not exist
import Say.*;
^
OtherMain.java:5: error: cannot find symbol
    SayClass s = new SayClass();
    ^
symbol:   class SayClass
location: class OtherMain
OtherMain.java:5: error: cannot find symbol
      SayClass s = new SayClass();
                     ^
symbol:   class SayClass
location: class OtherMain
3 errors

Почему java не может найти пакет Say? Если я неправильно понимаю пакеты, пожалуйста, объясните, что я делаю неправильно, а что правильно.

1 Ответ

0 голосов
/ 10 ноября 2018

При импорте в OtherMain вы должны использовать приведенную ниже инструкцию

import Demo.Say.SayClass

Кроме того, соглашение об именах пакетов написано строчными буквами, поэтому просим вас изменить код для использования с Say to say и Demo на demo. А также при создании 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...