‘abstract’ — модификатор отсутствия доступа

Модификатор отсутствия доступа — это ключевое слово, которое изменяет поведение класса Java по умолчанию.

_ ‘Аннотация’ _ модификатор может быть применен к

1) «абстрактный» — модификатор метода

  • Когда ‘Аннотация‘ ставится префикс перед объявлением метода, тогда метод становится абстрактным:
public abstract void execute();
  • Метод с пустым телом не считается абстрактным методом.
public void execute(){}
  • Абстрактный метод должен появляться только в абстрактном классе.
abstract class Perform{ int x, y; public abstract String execute(); 
}

Абстрактные методы будут реализованы производными классами.

public class Action extends Perform{ public String execute(){ 
System.out.println("I am executing");
} 
}
  • Если производный класс не реализует абстрактный метод, то этот класс также должен быть объявлен как абстрактный класс.
public abstract class Action extends Perform{ public abstract String execute();
}
  • Абстрактные методы также могут использоваться в перечислениях.
enum Model{
    BENZ{
        public String getModel(){ return "BENZ"; }
    },
    LAMBORGHINI{
        public String getModel(){ return "LAMBORGHINI"; }
    },
    FERRARI{
        public String getModel(){ return "FERRARI"; }
    },
    BUGATTI{
        public String getModel(){ return "BUGATTI"; }
    }
    public abstract String getModel(); 
}

2) «абстрактный» — модификатор класса

  • Когда ‘Аннотацияключевое слово ставится перед определением класса, тогда класс становится абстрактным классом.
abstract class Perform{    
}
  • Абстрактный класс может иметь или не иметь абстрактных методов.
abstract class Perform{ 
   int x, y; 
   public abstract String execute(); 
}

(или же)

abstract class Perform{ 
   int x, y; 
   public String execute(); 
}
  • Абстрактный класс не может быть создан. Если предпринимается попытка создать экземпляр абстрактного класса, «Выполнение является абстрактным, не может быть реализовано» вылетает ошибка компиляции

3) «abstract» — модификатор интерфейса

  • Каждый интерфейс неявно абстрактен. Оба приведенных ниже определения одинаковы.
interface Model{ 
   
}

(или же)

abstract interface Model{ 
  
}
  • Явное использование абстрактного ключевого слова для интерфейса излишне.
  • Таким образом, модификатор интерфейса abstract устарел и не рекомендуется использовать в новых программах.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *