Я видел некоторый код, такой как:
out.println("print something");
Я попробовал import java.lang.System;
но это не работает. Как Вы используете out.println()
?
static imports do the trick:
import static java.lang.System.out;
or alternative import every static method and field using
import static java.lang.System.*;
Addendum by @Steve C: note that @sfussenegger said this in a comment on my Answer.
"Использование такого статического импорта System.out не подходит для более чем простого run-once кода."
Поэтому, пожалуйста, не думайте, что он (или я) считает это решение хорошей практикой.
Что ж, вы обычно используете
System.out.println("print something");
, который не требует импорта. Однако, поскольку out является статическим полем внутри System, вы можете использовать статический импорт следующим образом:
import static java.lang.System.*;
class Test {
public static void main(String[] args) {
out.println("print something");
}
}
Взгляните на эту ссылку . Обычно вы делаете это только в том случае, если используете много статических методов из определенного класса, например, я использую их все время для утверждений junit и easymock.
PrintStream out = System.out;
out.println( "hello" );
Сначала вам нужно создать объект из . Подробнее об этом здесь:
// write to stdout
out = System.out;
out.println("Test 1");
out.close();
Ответ @sfussenegger объясняет, как заставить это работать. Но я бы сказал не делайте этого!
Опытные программисты Java используют и ожидают увидеть
System.out.println(...);
а не
out.println(...);
Статический импорт System.out или System.err - это (IMO) плохой стиль, потому что:
Если вы обнаружите, что делаете много выводов в System.out или System.err, я думаю, что лучше абстрагировать потоки в атрибуты, локальные переменные или методы. Это сделает ваше приложение более многоразовым.