Как создать пакет для разных файлов? - PullRequest
0 голосов
/ 09 октября 2009

Как мне создать пакет Java для разных файлов? я пытался следующие. Что я сделал не так? И что это правильная процедура?

Первый файл:

package dil;
public class Hello
{
    Support sp=new Support();
    int i=sp.tin();
    public void man()
    {
       System.out.println(i);
    }
}

Второй файл:

package dil;
class Support
{
    public int tin()
    {
        return 3;
    }
}

Теперь, когда я компилирую hello.java, он показывает эти ошибки:

Hello:4:cannot find symbol
symbol: class Support
location: class dil.hello
Support sp=new Support();
               ^
Hello:4:cannot find symbol
symbol: class Support
location: class dil.hello
Support sp=new Support();
^

Где проблема и как я могу поставить оба эти файлы в пакете?

Файлы находятся в c: \ src.

Ответы [ 6 ]

1 голос
/ 09 октября 2009

Если предположить имена путей UNIX / Linux, оболочку UNIX и т. Д., Вам нужна следующая файловая структура:

/some/where/dil
/some/where/dil/hello.java
/some/where/dil/Support.java

Затем установите $CLASSPATH на /some/where и скомпилируйте с помощью команд

cd /some/where
javac dil/*.java

и запустить с помощью

java dil.hello

В качестве альтернативы вы можете указать java и javac, какой путь к классу использовать с параметром командной строки -cp.

Вы также должны исправить следующие ошибки в коде:

  1. Измените имя класса "hello" на "Hello" и переименуйте исходный файл, чтобы он соответствовал. Строго говоря, это не ошибка, но грубое нарушение стандарта именования классов Java.
  2. Вы объявляете участника "десять", но называете его "жесть". Исправьте одно или другое.
  3. Метод точки входа в классе "hello" должен называться "main", а не "man", и должен иметь подпись public static void main(String[] arg). Если вы не исправите их, код скомпилируется, но команда java не найдет точку входа и завершится ошибкой.
1 голос
/ 09 октября 2009

См. Создание и использование пакетов в руководствах Sun по Java, чтобы узнать все подробности об использовании пакетов в Java.

1 голос
/ 09 октября 2009

Хотя класс Support не является общедоступным, это не будет проблемой, поскольку оба класса совместно используют один и тот же пакет. Полагаю, вы не поместили оба исходных файла в каталог в соответствии с их именем пакета и вызвали компилятор javac из текущего каталога, в котором находится hello.java.

Если класс находится в пакете a.b, это означает, что структура проекта должна содержать папку ./a/b, содержащую yourclass.java.

В вашем случае попытайтесь создать папку с именем ./dil, поместите в нее исходные файлы и вызовите javac из родительской папки.

0 голосов
/ 25 октября 2009

Я предлагаю вам попробовать использовать одну из бесплатных IDE, таких как Netbeans, Eclipse или IntelliJ CE. Это поможет вам начать кодирование, а не все наладить.

Кстати: в этих средах IDE есть быстрые решения для наиболее распространенных проблем, поэтому они не только сообщают вам об ошибке, но и дают возможность ее исправить и сделать это за вас.

0 голосов
/ 25 октября 2009

Support не public. Сделайте это публичным и попробуйте снова.

0 голосов
/ 09 октября 2009

Я заметил несколько вещей, которые вы должны проверить:

  • класс привет начинается со строчной буквы
  • class привет вызывает sp.ten () вместо sp.tin ()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...