diff --git a/java/Main.java b/java/Main.java index 47d636c..b76d1b5 100644 --- a/java/Main.java +++ b/java/Main.java @@ -1,11 +1,52 @@ import java.math.BigInteger; import java.util.Arrays; -// page: 165 +// page: 178 public class Main { public static void main(String[] args) { - task36(); + task38(); + } + + static void task38() { + Task38 task = new Task38(); + System.out.println("value of s: " + task.s); + } + + static class Task38 { + String s; + + { + s = "hello"; + System.out.println("instance initializer complete"); + } + + Task38() { + System.out.println("constructor complete"); + } + } + + static void task37() { + /* + Создайте класс с полем static String, инициализируемым в точке определения, и другим полем, инициализируемым в блоке static. Добавьте статический метод, который выводит значения полей и демонстрирует, что оба поля инициализируются перед использованием. + */ + + Task37.print(); + } + + static class Task37 { + static String s1 = "hello"; + static String s2; + + static { + s2 = "world"; + System.out.println("s2 initiated inside 'static' block"); + } + + static void print() { + System.out.println("s1: " + s1); + System.out.println("s2: " + s2); + } } static void task36() {