Jawa / Говнокод #21823 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
/*
Было задание:  

Дополните класс Main
public class Main {
 *//* вставить код сюда *//*
 public static void main(String[] args){}
}
...так, чтобы программа выдавала "Test". 

Решив, что мы нихрена не сможем сделать, так как main 
мы бы не смогли поменять, то решили исполнить 
роль говнокодера в самом прекрасном исполнении...
*/

public class Main {
    static int i = a();

    static int a() {
        System.out.println("Test");
        return 0;
    }

    public static void main(String[] args) {}
}

/* И ЭТО ЕЩЁ И РАБОТАЕТ! */

Странное задание...

Запостил: VladislavSavvateev VladislavSavvateev, (Updated )

Комментарии (4) RSS

  • Интересно, а какой-нибудь С++ сможет гарантировать, что std::cout инициализируется _до_ вызова статического конструктора внутри бинари? 🙂
    Ответить
    • Нет.

      Да даже джаву можно забаговать, если устроить циклическую зависимость. Можно увидеть, как final переменная меняет значение с null на что-то другое...
      Ответить
      • >>Можно увидеть, как final переменная меняет значение с null
        Достаточно сделать "leak of this" в соседний поток
        Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8