Java 08.10.2023
This commit is contained in:
parent
a5fa1d7749
commit
082000b21d
95
Java/Java.md
95
Java/Java.md
@ -331,3 +331,98 @@ class Main {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Абстрактные классы
|
||||
|
||||
Абстрактные классы могут иметь абстрактные методы (без имплементации), но от них низя создать объект.
|
||||
|
||||
```Java
|
||||
abstract class Car {
|
||||
int speed;
|
||||
|
||||
public int getSpeed() {
|
||||
return speed;
|
||||
}
|
||||
|
||||
public void setSpeed(int speed) {
|
||||
this.speed = speed;
|
||||
}
|
||||
|
||||
abstract int brake();
|
||||
}
|
||||
|
||||
class Sedan extends Car {
|
||||
@Override
|
||||
int brake() {
|
||||
return 5;
|
||||
}
|
||||
}
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Car car = new Car(); // Низя. Класс абстрактный
|
||||
Sedan sedan = new Sedan();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Интерфейсы
|
||||
|
||||
Абстрактные классы для классов, которые имеют много общего, имеют близкую связть, а интерфейсы используются для тех, которые не имеют связи:
|
||||
|
||||
* Bird - абстрактный класс
|
||||
* Flyable - интерфейс. Его могут имплементировать и птицы, и самолёты, и Карлсон
|
||||
|
||||
Отличия от классов:
|
||||
|
||||
* Нельзя создать экземпляр
|
||||
* Не содержатся конструкторы
|
||||
* Все методы абстрактные
|
||||
* Все поля и *static* и *final*
|
||||
* Интерфейс не расширяется классом, а реализуется
|
||||
* Интерфейс может расширить множество интерфейсов
|
||||
|
||||
```Java
|
||||
public interface Swimmable {
|
||||
public void swim();
|
||||
}
|
||||
|
||||
class Duck implements Swimmable {
|
||||
public void swim() {
|
||||
System.out.println("A duck is swimming");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Классы обёртки
|
||||
|
||||
*Обёртка* - класс, хранящий внутри значение примитива. Эти классы содержат полезные методы и являются не изменяемыми
|
||||
|
||||
#### Автораспаковка, автоупаковка
|
||||
|
||||
```Java
|
||||
int x = 5;
|
||||
Integer y = x; // Автоупаковка
|
||||
x = y; // Автораспаковка
|
||||
```
|
||||
|
||||
Автоупаковка и автораспаковка не работает для массивов
|
||||
|
||||
## Коллекции
|
||||
|
||||
Основные виды:
|
||||
|
||||
* Set
|
||||
* HashSet
|
||||
* TreeSet
|
||||
* SortedSet
|
||||
* List
|
||||
* ArrayList
|
||||
* LinkedList
|
||||
* Vector
|
||||
* Stack
|
||||
* Map
|
||||
* HashMap
|
||||
* TreeMap
|
||||
* SortedMap
|
||||
* Hashtable
|
||||
|
Reference in New Issue
Block a user