Во-первых создать экземпляр абстрактного класса можно, необходимо только реализовать абстрактные методы:
InputStream is = new InputStream() {
@Override public int read() throws IOException {
return 123;
}
};
System.out.println(is.read());//123
Во-вторых у InputStream'а целая гора наследников. Я не знаю как там формулировал Шилдт, но он наверняка не имел ввиду что System.in это именно экземпляр InputStream'а.
В-третьих вы сами можете(должны) это проверить:
System.out.println(System.in);//java.io.BufferedInputStream@5577140b
Т.е. System.in конкретно на моей машине в моей jvm это экземпляр BufferedInputStream.
PS больше пишите код. На одну прочитанную страницу книги должна быть написана одна страница кода.