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

7. Параметризация методов

Аргументом метода main() является массив строк. Он может заполняться дополнительными параметрами, которые указываются при вызове метода. Пример демонстрирует вывод в консоль параметров, переданных в метод

main. Для запуска примера необходимо передать сами параметры, например

java test.first.Test HelloWorld

package test.first; public class Test {

public static void main(String[] args) {

for (int i=0; i<args.length; i++) {

System.out.print(args[i]+" "); }

System.out.println(); } }

Результат работы программы: HelloWorld

8. Наследование

  • Наследование позволяет создавать иерархические классификации.

  • Используя наследование, можно создать главный класс, который определяет свойства, общие для набора связанных элементов.

  • Класс, который унаследован, называется суперклассом (superclass).

  • Класс, который выполняет наследование, называется подклассом (subclass) — это специализированная версия суперкласса. Он наследует все переменные экземпляра и методы, определенные суперклассом, и прибавляет свои собственные уникальные элементы.

  • Чтобы наследовать класс, нужно просто включить определение одного класса в другое, используя ключевое слово extends.

  • В java отсутствует множественное наследование

9. Модификаторы доступа при наследовании

При наследовании все поля, методы базового класса переходят (наследуются) др. классом, но доступ к ним (базовым) может быть (public, friendly, protected), а может и не быть (private). Доступ из производного класса к полям и методам базового класса определяет специфика доступа к полю/методу , который указан в базовом классе.

10. Перегрузка и переопределение методов

Перегрузка работает в рамках одного класса, переопределение – при наследовании.

Перегрузка. Два метода называются перегруженными, если они имеют одинаковое название, но параметры, которые они принимают, отличаются либо по типу, либо по колву. В этом смысл полиморфизма.

Переопределение. При разработке иерархии классов часто возникает необходимость расширить возможности метода, наследуемого из родительского класса. В этом случае в производном Н разработать свой метод родительского класса. Например, если в произв классе метод с тем же именем и типом возвращаемого значения будет иметь разное колво параметров, то будет реализована перегрузка метода.

11. Использов ключевого слова final

  • Ключевое слово final имеет три применения. Первое — его можно использовать для создания эквивалента именованной константы. Два других применения final связаны с наследованием.

  • Чтобы отменить переопределение метода, укажите модификатор final в начале его объявления. Методы, объявленные как final, не могут переопределяться.

class A {

final void meth() {

System.out.println("Это метод final.");

} }

class В extends A {

void meth() { // ОШИБКА! Нельзя переопределять.

System.out.println("Ошибка!");

} }

  • Поскольку meth о объявлен как final, он не может быть переопределен в классе B. Если вы попытаетесь сделать это, то получите ошибку во время компиляции.

  • Иногда нужно разорвать наследственную связь классов (отменить наследование одного класса другим). Чтобы сделать это, предварите объявление класса ключевым словом final, что позволит неявно объявить и все его методы. Недопустимо объявлять класс одновременно как abstract и final.

final class A { // ...}

// Следующий класс незаконный.

class В extends А { //ОШИБКА! В не может быть подклассом А

// .. . }

  • Комментарий здесь означает, что в не может наследовать А, т.к. А объявлен как final.

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