Skip to content

Instantly share code, notes, and snippets.

View Dvorneg's full-sized avatar

Dvornik Dvorneg

View GitHub Profile
.idea
/target
*.iml
/lib
@Dvorneg
Dvorneg / minesweeper_GameObject.java
Created December 13, 2020 16:11
Сапер, как в windows.
package com.javarush.games.minesweeper;
public class GameObject {
public int x;
public int y;
public boolean isMine;
public int countMineNeighbors;
public boolean isOpen;
public boolean isFlag;
package com.javarush.task.task34.task3410.controller;
import com.javarush.task.task34.task3410.model.Direction;
import com.javarush.task.task34.task3410.model.GameObjects;
import com.javarush.task.task34.task3410.model.Model;
import com.javarush.task.task34.task3410.view.View;
public class Controller implements EventListener {
private View view;
private Model model;
@Dvorneg
Dvorneg / task2609_Solution.java
Created October 26, 2020 12:14
примеры locks в synchronized (buckets)
package com.javarush.task.task26.task2609;
/*
Распределение элементов по корзинам с собственным локом
*/
public class Solution {
private static final int NUMBER_LOCKS = 12;
private final Node[] buckets;
private final Object[] locks;
@Dvorneg
Dvorneg / task2411_C.java
Created September 20, 2020 13:41
Бессмысленная закрученная цепочка наследования
package com.javarush.task.task24.task2411;
public class C implements JustAnInterface {
public C() {
System.out.print("C");
B localB = B;
}
}
@Dvorneg
Dvorneg / task2410_Iterator.java
Created September 20, 2020 12:31
Вызов анонимного класса (и конструктор в нестатическом блоке инициализации (instance initializers)
package com.javarush.task.task24.task2410;
public interface Iterator {
Iterator next();
}
@Dvorneg
Dvorneg / task2408_Dog.java
Created September 13, 2020 17:48
Если так получилось, что есть готовый класс А (тут SuperDog) с логикой, которую вы хотите использовать. (Локальный класс)
package com.javarush.task.task24.task2408;
import java.util.Date;
/*
В работе вам иногда будет нужно закастить класс к какому-нибудь другому классу, не интерфейсу :)))
Класс DogPet использует 2 класса - SuperDog и Dog, разберись с getName в классе DogPet
Так намного лучше, чем Copy+Paste!
*/
public class Dog implements Pet {
@Dvorneg
Dvorneg / task2407_Cat.java
Created September 13, 2020 16:40
Реализация интерфейса используя локальный класс
package com.javarush.task.task24.task2407;
/*
В работе вам иногда будет нужно закастить класс к какому-нибудь интерфейсу (тут Sayable),
который не реализован в текущем классе
*/
public class Cat implements Pet {
private String name;
public Cat(String name) {
@Dvorneg
Dvorneg / task2405_Action.java
Created September 13, 2020 15:39
Анонимный класс (так себе пример)
package com.javarush.task.task24.task2405;
public interface Action {
void someAction();
}
@Dvorneg
Dvorneg / task2404_HasHeight.java
Created September 11, 2020 13:05
В нашем классе интерфейсы можно реализовывать через создание анонимных (или локальных) классов внутри методов нашего класса, без implement и методов в теле нашего класса.
package com.javarush.task.task24.task2404;
public interface HasHeight {
double getHeight();
}