Почему я не могу поместить свои функции в другой класс? - PullRequest
1 голос
/ 16 февраля 2010

Я создал новый класс под названием «Инструменты» внутри моей рабочей области com.example.hello.

Tools.java:

public class Tools {
    public static String getSource (String theurl) {
        URL u;
        InputStream is = null;
        DataInputStream dis;
        String s;
        String ss = "";
        try {
           u = new URL(theurl);
           is = u.openStream();         // throws an IOException
           dis = new DataInputStream(new BufferedInputStream(is));
           while ((s = dis.readLine()) != null) {
              ss = ss +  s;
           }
        } catch (MalformedURLException mue) {
        } catch (IOException ioe) {
        } finally {
           try {
              is.close();
              return ss;
           } catch (IOException ioe) {
           }
        } 
        return ss;
     }         
}

Из этого точного пространства имен (com.example.hello) есть файл .java ... и я хочу использовать getSource.

Я пытался import com.example.hello.Tools.*

Но по какой-то причине я не могу использовать getSource?

Я просто хочу иметь возможность вызывать «getSource» из других моих классов, которые находятся в той же папке.

Ответы [ 3 ]

8 голосов
/ 16 февраля 2010

Вы хотите:

import static com.example.hello.Tools.*;

для использования getSource() без записи Tools.getSource(). Конечно, если вы хотите написать Tools.getSource(), просто используйте стандарт import:

import com.example.hello.Tools;
4 голосов
/ 16 февраля 2010

Вам нужно добавить следующее? (Спрашиваю, потому что я не вижу его в вашем примере.)

package com.example.hello;

Недостаточно поместить файл в правильную структуру папок; Вы должны предоставить объявление пакета вверху файла.

4 голосов
/ 16 февраля 2010
import static com.example.hello.Tools.*;

Вот указатель на статический импорт .

РЕДАКТИРОВАТЬ : Вы также можете позвонить как Tools.getSource(). Поскольку Tools находится в одном пакете, вам не нужно его импортировать.

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