среда, 30 октября 2019 г.

Интерфейсы

Интерфейсы не могут иметь конструкторы.
Все поля в интерфейсе public final static, и должны быть инициализированы( так как отсутствуют конструкторы)

Все методы в интерфейсе public abstract.

Модификатор доступа имплементируемого метода должен быть не уже метода в интерфейсе.

Мы не может создать объект интерфейса
Deliverable deliverable = new Deliverable();
Но возможно создать массив объектов из Интерфейса.
Deliverable[] deliverable = new Deliverable[4];

В интерфейсе, помимо абстрактных, возможны статические и дефолтные методы.
Их имплементировать не надо.

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

В абстрактных классах возможно определить статические методы


public static void doSmth(){
System.out.println("Static method in Abstract class");
}


В Абстрактных классах возможно создать обычные поля. Но их можно инициализировать в конструкторе.

Cписок методов в классе

CTRL+F12 список методов в классе.

Enum

Не возможно создать публичный конструктор в Enum

public enum Size {

VERY_SMALL("XS"), SMALL("S"), AVARAGE("M"), BIG("X"), VERY_BIG("XL");

Size(String abbreviation) {
this.abbrevation = abbreviation;
}

private String abbrevation;

public String getAbbrevation() {
return abbrevation;
}
}


Size s = Size.VERY_SMALL;
System.out.println(s.getAbbrevation());
System.out.println(s);
Size s1 =Size.valueOf("BIG");
System.out.println(s1);

Size[] values = Size.values();
for (Size str: values ) {
System.out.println(str);
}


switch (size){
case BIG:case VERY_BIG:
System.out.println("Wof - wof");
break;
case AVARAGE:
System.out.println("Raf - raf");
break;
case SMALL: case VERY_SMALL:
System.out.println("Tyaf - tyaf");
break;
}

final константы

final переменной можно присвоить модификатор доступа public, так как его все равно не возможно изменить, и нет надобности его скрывать дабы не изменить его.

Host2Host

Межхостовое соединение (Host to Host) – информационное взаимодействие двух и более процессинговых центров в части проведения процедур авторизации и обработки транзакций по топливным картам, необходимое для организации взаимного приема топливных карт.

Шифрования пин-блока

Для шифрования пин-блока (вычисления мак) пинпаду подается рабочий ключ. Внутри пинпада хранится мастер ключ, с помощью которого этот рабочий ключ был когда-то зашифрован. С помощью мастер-ключа расшифровывается рабочий ключ и на результате шифруется пин-блок. Шифрованные на мастер ключе рабочие ключи хранятся и пересылаются без особых требований безопасности (практически открыто). Меняются хоть через каждую транзакцию.
Мастер ключи хранятся в пинпаде, достать их оттуда нельзя. Но их иногда тоже нужно обновлять. Для обновления в пинпад засылается новый мастер ключ, шифрованный на KLK. KLK ключ хранится в пинпаде, с помощью него пинпад расшифровывает мастер ключ. Таким образом шифрованный на KLK мастер ключ можно посылать для обновления с пакетом.
А вот KLK ключ забивается в пинпад и так просто В ОБЩЕМ СЛУЧАЕ не меняется. Хотя может быть построена иерархия KLK ключей, когда новый KLK ключ зашифровывается на предыдущем, посылается для обновления, пинпад расшифровывает новый KLK и делает его текущим.
Таким образом, мастер ключи шифруются с помощью KLK, рабочие ключи с помощью мастер, а пин с помощью рабочего.