Класс объекта, который связан с System.in
, является подклассом InputStream
.Больше ничего не указано 1 .
Но мы можем проверить это:
$ cat Test.java
public class Test {
public static void main(String[] args) {
System.out.println(System.in.getClass());
}
}
$ javac Test.java
$ java Test
class java.io.BufferedInputStream
$
Конечно, это может варьироваться от одной версии Java к другой.Выше приведено для Java 8.
1 - Поскольку класс, используемый для System.in, не указан, не рекомендуется писать код, который зависит от эмпирического наблюдения кажется, что всегда используется один и тот же класс.Однако я не ожидал бы, что люди, которые предоставляют реализации Java, изменят эту деталь ... из-за вероятности, что люди могут иметь встроенное знание класса в своем коде.