Простая проблема импорта - PullRequest
       14

Простая проблема импорта

1 голос
/ 27 февраля 2011

Я пытаюсь выучить Java и, похоже, упускаю что-то очевидное.

В подкаталоге у меня есть файл Play.java

package lab;
import java.io.*;

public class Play {
    public static void playprint(Object obj) {
        System.out.println(obj);
    }
}

Мой CLASSPATH начинается с '.

В родительском каталоге у меня есть программа

public class test {
    public static void main(String[] args) { 
       lab.Play.playprint("hello world");
   }
}

Это работает нормально.Если я изменю программу на

import lab.Play.*;

public class test {
    public static void main(String[] args) { 
        playprint("hello world");
    }
}

Сбой из-за ошибки: не удается найти метод воспроизведения символов

Чего мне не хватает?

Ответы [ 2 ]

5 голосов
/ 27 февраля 2011

Чтобы импортировать метод, вы должны использовать import static .Без этого вы пытаетесь импортировать все классы (и интерфейсы) только внутри своего класса «Play».

import static lab.Play.*;

См. документацию по статическому импорту для получения подробной информации.

1 голос
/ 27 февраля 2011

Если вы хотите пропустить использование статических методов, вы можете создать объект Play class внутри теста класса и затем вызвать playprint.

...