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

Для того, чтобы писать на Java качественный софт, требуется изучить его базовые принципы, инструменты и функции. Немаловажную роль здесь играют объекты и функции. А еще – абстрактные классы Java. Именно о них пойдет речь далее.

Термины – что пригодится для понимания

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

  1. Алгоритмы – инструкции, принципы и правила, которые необходимы для решения поставленной перед разработчиком задачи.
  2. API – интерфейс прикладного программирования. Процедуры и правила, а также протоколы, помогающие ПО взаимодействовать друг с другом и разнообразными службами.
  3. Аргумент – передаваемое в функцию или команду значение.
  4. Переменная – единица хранения информации. Именованная ячейка памяти.
  5. Объект – связанные между собой переменные, структурные данные и константы. Они обрабатываются и выбираются совместно.
  6. Константа – значение, которое по ходу выполнения кода никогда не меняется.
  7. Массив – список или группа схожих типов значений, прошедших предварительную группировку. Множество электронных материалов.
  8. Ключевое слово – слово, зарезервированное языком программирования. Необходимо для обозначения операций, команд, функций.
  9. Указатель – переменная, содержащая адрес места в памяти.

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

Несколько слов о методах

Метод – это блок кода, который имеет имя. Он объявляется внутри заданного класса. Содержит законченную последовательность операций, необходимых для решения поставленной изначально задачи. Соответствующий блок допускается использовать многократно.

Метод – функция, указывающая на то, что умеет делать имеющийся класс. В Java выступает членом classes. Обладает различными модификаторами доступа:

  1. Public – публичный. Методы и поля видимы другим классам в коде в пределах пакета или из внешних пакетов.
  2. Protected – «частный».
  3. Private – приватный. Методы и поля доступны в пределах заданного класса.
  4. По умолчанию. Применяется, когда модификатор отсутствует вовсе.

Теперь стоит рассмотреть абстрактные классы и методы более подробно.

Понятие класса

Class в Java – это шаблон или описание имеющегося в коде объекта. Object – это экземпляр класса. Пример – аналогия с человеком. У каждого есть две руки, ноги, глаза, туловище и так далее. Есть некий шаблон – это класс. Реально существующий человек – объект.

Задается класс при помощи ключевого слова class. Далее пишется его название и в фигурные скобках – описание. А именно – указываются поля и method.

Абстракции

Абстракция – качество общения с идеями, а не некоторыми событиями. Пример – электронная почта. Тут все скрыто от обычного пользователя: протоколы, а также детали происходящего во время отправки и получения сообщений. Но для того, чтобы написать и отослать e-mail, клиент может просто напечатать его содержимое. Далее – щелкнуть по кнопке, отвечающей за реализацию соответствующей функции.

Говоря об абстрактных классах в Джаве, нужно понимать, что собой представляет абстракция. Это – процедура скрытия деталей реализации от юзера. В конечном итоге пользователь увидит только итоговый функционал. Говоря простым языком – предоставляется информация о том, что делает объект, а не как он справляется с задачей.

Абстрактный класс

Класс, который содержит в себе ключевое слово abstract носит название абстрактного. Здесь программист должен запомнить следующее:

  • abstract class может содержать абстрактные методы Java – без тела (public void get(););
  • если обычный класс имеет хотя бы один единственный абстрактный метод, этот class объявляется абстрактным;
  • реализовать абстрактный класс нельзя;
  • для использования рассматриваемого элемента кода требуется наследовать его из другого класса – для обеспечения реализации методов абстрактного типа в его пределах.

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

Наглядный пример

Вот код, который продемонстрирует рассматриваемый компонент:

/* File name : Employee.java */ 
public abstract class Employee { 
private String name; 
private String address; 
private int number;
public Employee(String name, String address, int number) { System.out.println("Собираем данные о работнике"); 
this.name = name;
 this.address = address;
 this.number = number;
 } public double computePay() { 
System.out.println("Внутри Employee computePay"); 
return 0.0; 
} 
public void mailCheck() { 
System.out.println("Отправляем чек " + this.name + " " + this.address); 
} 
public String toString() { 
return name + " " + address + " " + number; 
} 
public String getName() { 
return name; 
} 
public String getAddress() { 
return address; 
} 
public void setAddress(String newAddress) {
 address = newAddress; 
} 
public int getNumber() {
return number; 
}
}

Здесь можно увидеть класс Employee – он такой же, как обычный класс в Джаве. Он абстрактный, но имеет три поля, а также 7 методов и один конструктор.

Можно создать new экземпляр класса Employee:

/* File name : AbstractDemo.java */ 
public class AbstractDemo { 
public static void main(String [] args) { 
/* Следующие действия неверны и выдадут ошибку */ 
Employee e = new Employee("Иванов И.И.", "Минск, Беларусь", 43); System.out.println("\n Вызываем mailCheck, используя ссылку Employee --"); e.mailCheck(); 
} 
}

Но при компиляции система выдаст ошибку.

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

Вот код, который поможет рассмотреть наглядный пример наследования:

Абстрактные классы в Джаве

Здесь:

  1. Не получится создать экземпляр класса Employee.
  2. Можно создать экземпляр Salary. Его используют для получения доступа к трем полям и методам Employee.
Абстрактные классы в Джаве

После обработки кода на экране появится следующий результат:

Абстрактные классы в Джаве

Абстрактные методы

Пример абстрактного класса Java был рассмотрен выше. Чтобы class содержал конкретный метод, но фактическая реализация осуществлялась за счет дочерних классов, можно объявить в «родителе» абстрактный method.

Здесь стоит запомнить, что:

  • для объявления используется слово abstract;
  • ключевое слово ставится перед именем метода при его объявлении;
  • абстрактный метод имеет сигнатуру method, но не имеет тела;
  • вместо фигурных скобок ставится точка с запятой в конце.

Специализированные дистанционные компьютерные курсы помогут лучше разобраться в том, что такое public abstract void, extends, classes и не только.

Абстрактные классы в Джаве