- •Главные блоки компьютера и их назначение.
- •Назначение программы-компилятора
- •Назначение программы-интерпретатора
- •Основные идеи методики «структурное программирование»
- •Основные идеи методики «объектно-ориентированное программирование»
- •Что такое «объект»?
- •Что такое «класс»?
- •Что такое «геттеры» и «сеттеры»?
- •Перечислите известные Вам типы классов
- •Перечислите этапы жизненного цикла объекта и дайте краткие пояснения этапов
- •Укажите назначение конструктора класса
- •Что такое «наследование»?
- •Приведите структуру (форму) определения класса
- •Поясните термин «инициализация». Приведите три примера определения полей с инициализацией и без инициализации
- •Поясните понятие «ссылка на объект». Приведите пример объявления ссылки на объект
- •Примитивные типы данных, их назначение и «ширина»
- •Определение литерала, примеры литералов различных типов.
- •Понятие константы в Java. Способы задания констант. Примеры.
- •Операции для целочисленных данных: обозначения и правила выполнения.
- •Операции для булевских данных: обозначения и правила выполнения
- •Обозначение операций для сравнения данных. Примеры применения этих операций.
- •Правила вычисления результата для операций & и |. Примеры.
- •Назначение, форма и примеры применения «расширенного присваивания»?
- •Блок: определение, назначение и примеры применения.
- •Назначение и форма условного оператора (с примерами применения).
- •28. Назначение и форма оператора выбора, примеры применения.
- •Назначение и форма оператора while, примеры применения.
- •Назначение и форма оператора for, примеры применения.
- •Назначение и форма операторов break, continue, return. Примеры применения.
- •Создание переменных простого и объектного типов: сходство и различие.
- •Простые переменные
- •Определение массива. Нумерация элементов одномерного массива. Примеры.
- •Базовый тип массива. Допустимые базовые типы. Длина массива.
- •Различие между объявлением массива и созданием массива. Примеры.
- •Прием вычисления суммы элементов числового массива.
- •37. Методика поиска минимального и максимального элементов массива.
- •38. Приемы инициализации элементов массива (привести примеры).
- •39. Приемы копирования массива.
- •40. Метод пузырьковой сортировки
- •41. Метод сортировки прямым выбором
- •42. Метод сортировки прямыми вставками
- •43. Структура (составные части) метода. Форма определения метода.
- •44. Особенности методов, возвращающих значения. Оператор return.
- •45. Параметры методов: различия между параметрами простых типов и параметрами объектных типов.
- •46. Уровни доступа к элементам класса: назначение и примеры. Ограничение доступа
- •47. Особенности конструктора как метода класса
- •Отличия описания
- •48. Понятие статических элементов класса. Объявление статических элементов.
- •49. Назначение и форма статических инициализаторов
- •50. Понятие инкапсуляции.
- •51. Правила передачи параметров в методы
- •52. Понятие полиморфизма. Объяснение полиморфизма на примере базового класса и нескольких его наследников.
- •53. Ограничения на типы левой и правой частей оператора присваивания
- •54. Понятия «динамическое связывание» и «статическое связывание»
- •55. Абстрактные методы и абстрактные классы.
- •Понятие интерфейса. Назначение интерфейса.
- •57. Объявление интерфейса и объявление класса, реализующего интерфейс.
- •Правила создания класса-интерфейса в BlueJ
- •59. Борьба с ошибками в программах. Защита кода проверкой допустимости данных.
- •60. Понятие исключения. Типы исключений.
- •62.Охраняемый участок программы блок try
- •63.Обработка исключений
- •64.Назначение finally
- •65.Генерация исключений в программе
- •70. Класс String. Особенность экземпляров класса
- •71.Методы выделения элементов строки
- •72. Методы поиска строки
- •73.Сравнение строк.Примеры
- •74.Преобразования символов строки в маленькие буквы и наоборот
- •75. Разбиение строки на слова .StringTokenizer
-
Укажите назначение конструктора класса
В объектно-ориентированном программировании конструктор класса (от англ. constructor, иногда сокращают ctor) — специальный блок инструкций, вызываемый при создании объекта. Конструктор схож с методом, но отличается от метода тем, что не имеет явным образом определённого типа возвращаемых данных, не наследуется, и обычно имеет различные правила для рассматриваемых модификаторов. Конструкторы часто выделяются наличием одинакового имени с именем класса, в котором объявляется. Их задача — инициализировать члены объекта и определить инвариант класса, сообщив в случае некорректности инварианта. Корректно написанный конструктор оставит объект в «правильном» состоянии. Неизменяемые объекты тоже должны быть проинициализированы конструктором.
-
Что такое «наследование»?
Насле́дование — механизм объектно-ориентированного программирования (наряду с инкапсуляцией, полиморфизмом и абстракцией), позволяющий описать новый класс на основе уже существующего (родительского), при этом свойства и функциональность родительского класса заимствуются новым классом.Другими словами, класс-наследник реализует спецификацию уже существующего класса (базовый класс). Это позволяет обращаться с объектами класса-наследника точно так же, как с объектами базового класса.
-
Приведите структуру (форму) определения класса
Имя файла должно совпадать с одним из классов определенных в нем. Остальные классы являются локальными. Также позволяется определять вложенные классы.
Методы имеющие такое же имя как и класс называются конструкторами и служат для инициализации класса. В отличие от С++, инициализировать данные можно при их объявлении внутри класса. Для уничтожения объекта может использоваться метод finalize(), хотя на практике его реализовывают редко.
По умолчанию любой класс наследуется от класса Object из пакета java.lang.
-
Поясните термин «инициализация». Приведите три примера определения полей с инициализацией и без инициализации
Как известно, в Java поля (fields) могут принадлежать классу или объекту. Поля, принадлежащие классу, являются статическими, а поля, принадлежащие объекту, - нестатическими. Статические поля доступны без создания объекта класса. Соответственно инициализироваться статические и нестатические поля должны в разное время: одни до создания объекта класса, а другие после.
class Integer { ... public static final int SIZE = 32; ... }
Здесь инициализируется статическое поле SIZE класса Integer.
static List<Character> alphabet;
static alphabet = new ArrayList<Character>();
for (char c='a'; c<='z'; c++) alphabet.add(c); }
Переменная alphabet инициализируется в статическом блоке. Инициализация происходит во время загрузки класса аналогично как и в предыдущем примере.
public class Blog { ... private List<Post> posts = new ArrayList<Post ... }
Инициализация поля posts будет произведена во время конструирования объекта Blog.