Абстрактные классы в помочь пользователям достичь абстракции, которая является наиболее важной практикой объектно-ориентированного программирования, которой следуют в процессе разработки программного обеспечения. В этой статье мы обсудим терминологию абстрактных классов в следующей таблице.
- Что такое абстрактные классы в Java?
- Зачем нам нужны абстрактные классы в Java?
- Правила использования абстрактных классов в Java
- Способы достижения абстракции в Java
- Синтаксис для абстрактных классов
- Практические примеры абстрактных классов
- Разница между интерфейсом и абстрактным классом
Что такое абстрактные классы в Java?
Абстрактные классы в действовать как граница между методом реализации и его функциональностью. Он используется для обмена функциональными возможностями между Бетон ученики и Абстрактные Класс.
Абстрактные классы считаются теми классами, которые скрывают Реализация метода детали от пользователя и показывать только Функциональность метода. Они объявляются с помощью ключевого слова Абстрактные . Эти методы могут включать Абстрактные и Неабстрактный методы в них.
передать по значению передать по ссылке java
Зачем нам нужны абстрактные классы в Java?
Абстрактные классы в Java нужны нам по следующим причинам:
- Поддержка абстрактных классов Разрешение динамического метода во время выполнения
- Они помогают пользователям достичь Слабая связь
- Абстрактные классы разделяют Определение метода из унаследованных Подклассы
- Они обеспечивают Функциональность по умолчанию определенного метода для всех подклассов
- Абстрактные классы предоставляют Шаблон для будущих специальных занятий
- Абстрактный класс позволяет Код Повторное использование
Правила использования абстрактных классов в Java
Чтобы реализовать абстрактный класс в Java, нам нужно следовать правилам, описанным ниже:
- Абстрактный класс должен быть объявлен с использованием Абстрактные ключевое слово.
- Абстрактные классы могут включать Абстрактные и неабстрактный методы.
- Абстрактный класс не может быть создан.
- Они могут включать конструкторы и статический методы.
- Абстрактный класс включает окончательный методы.
Способы достижения абстракции в Java
Процесс абстракции в Java может быть реализован двумя следующими способами, как указано ниже:
- Реализация абстрактного класса
- Реализация интерфейса
Синтаксис для абстрактных классов
Синтаксис для определения абстрактных классов и абстрактных методов следующий:
абстрактный класс Edureka {}
абстрактный класс Method ()
Практические примеры абстрактных классов
// Абстрактный класс
package Abstract public abstract class Person {private String name private String пол public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}
// Студенческий класс
функция сортировки массив c ++
пакет Абстрактный открытый класс Student расширяет Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Studying')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Человек student1 = новый ученик ('Karan', 'Мужчина', 201021) Человек student2 = новый ученик ('Кумари', 'Женщина', 101021) Человек student3 = новый ученик (' John ',' Male ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString). ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}
Вывод:
Не учусь
Получение степени бакалавра технических наук
Получение степени бакалавра технических наук
Получение степени бакалавра технических наук
Имя = Прия :: Пол = Женский
Имя = Каран :: Пол = Мужской
Имя = Кумари :: Пол = Женский
Имя = Джон :: Пол = Мужской
Разница между интерфейсом и абстрактным классом
Интерфейс | Абстрактный класс |
Может иметь только абстрактные методы | Может иметь абстрактные и не абстрактные методы |
В нем есть только конечные переменные | Включает неокончательные переменные |
Он имеет только статические и конечные переменные | Он имеет статические, нестатические, конечные, не конечные переменные. |
Не будет реализовывать абстрактный класс | Может реализовать интерфейс |
Реализовано с использованием ключевого слова «орудия» | Реализовано с использованием ключевого слова «расширяет» |
Может расширять только интерфейс | Может расширять классы и интерфейсы Java |
По умолчанию участники являются общедоступными | Участники могут быть частными и защищенными |
// Пример абстрактного класса
package abstactVSinterface абстрактный класс Shape {String objectName = '' Shape (String name) {this.objectName = name} абстрактная публичная двойная область () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle расширяет форму {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Круг нарисован')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of rectangle:' + rect.area ()) Форма круга = new Circle (20, 'Cicle') System.out .println ('Площадь круга:' + circle.area ())}}
Вывод:
Площадь прямоугольника: 600.0
Площадь круга: 628,0
// Пример интерфейса
пакет absVSint интерфейс Shape {void draw () double area ()} класс Rectangle реализует Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Прямоугольник нарисован')} @Override public double area () {return (double) (length * width)}} класс Circle реализует Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Круг нарисован')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Площадь прямоугольника:' + rect.area ()) Форма круга = новый Круг (20) System.out.println ('Площадь круга:' + circle.area ())}}
Вывод:
одномерный массив в Java
Площадь прямоугольника: 600.0
Площадь круга: 628,0
На этом мы подошли к концу данной статьи. Надеюсь, вы поняли важность абстракции, синтаксиса, функциональности, правил абстракции в Java и практических примеров, связанных с ними.
Теперь, когда вы разобрались с основами Java, ознакомьтесь с от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Курс обучения и сертификации по Java J2EE и SOA от Edureka предназначен для студентов и профессионалов, которые хотят стать Java-разработчиками. Курс разработан, чтобы дать вам хорошее начало в программировании на Java и обучить вас как основным, так и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и весна .
Есть вопрос к нам? Упомяните об этом в разделе комментариев этого блога «Абстрактные классы в Java», и мы свяжемся с вами как можно скорее.