Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JAVA шпоры.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
55.63 Кб
Скачать

15. Примеры применения интерфейсов.

Пример:

public interface MyInt{

Final String str=”Тест интерфейса”;

public int MyMethod(int i);}

Интерфейс позволяет реализовывать множественное наследование и иерархию классов.

Таким образом, интерфейсы позволяют очертить некоторые постоянные характеристики, оставляя реализацию тела методов реализующим классам.

Пример:

class TestInt implements My_Int;{

public int myMethod(int i)

{ if ( i==0) return (0);

else return (i*i);

public vpid f1(){}}

16. Потоки ввода и вывода информации

Java-программы выполняют ввод/ вывод информации через потоки. Поток является абстракцией, которая или производит или потребляет информацию. Поток связывается с физическим устройством с помощью системы ввода-вывода. Все потоки ведут себя одинаковым образом, хотя фактические физические устройства, с которыми они связаны, могут сильно различаться.

Поток связывается с физическим устройством с помощью системы ввода-вывода.

Ввод - клавиатура - файл - сетевой разъем

Вывод - консоль- файл - сетевое соединение

Благодаря потокам программа может выполнить ввод-вывод, не понимая различий между клавиатурой и сетью. Потоки ввода-вывода определены в пакете java.io.* Import java.io.*

Байтовые и символьные потоки

В Java2 определены 2 типа потоков: байтовые и символьные. Байтовые потоки позволяют осуществить обработку ввода и вывода байтов. Используются при чтении и записи данных в двоичном коде.

Символьные потоки представляют удобные средства для обработки ввода и вывода символов. Они используют универсальную кодировку Unicode. На самом низком уровне весь ввод-вывод всё ещё байтовый.

Классы байтовых потоков Байтовые потоки определяются в двух иерархиях классов. На верху этой иерархии два абстрактных класса: InputStream(абстрактный класс ввода информации) и OutputStream(абстрактный класс вывода информации). Каждый из этих абстрактных классов имеет несколько конкретных подклассов, которые отвечают за ввод-вывод информации в(из) файлов.

Абстрактные классы InputStream и OutputStream определяют несколько ключевых методов, которые реализуются другими поточными классами. Методы read(), write() переопределяются в производных классах.

Поточный класс

Описание

InputStream

OutputStream

Абстрактные классы, которые описывают поточный ввод и вывод

BufferedInputStream

BufferedOutputStream

Буферизированные потоки ввода и вывода

DataInputStream

DataOutputStream

Поток ввода, который содержит методы для чтения данных стандартных типов Java;

Поток вывода, который содержит методы для записи данных стандартных типов Java

FileInputStream

FileOutputStream

Поток ввода, который читает из файла;

Поток вывода, который записывает в файл

RandomAccessFile

Поддерживает ввод-вывод файла произвольного доступа

Классы символьных потоков

Определены в двух иерархиях классов: Reader и Writer. Они обрабатывают потоки символов Unicode. Абстрактные классы Reader и Writer определяют методы read(), write(), которые реализуются другими поточными классами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]