Quicklet

Рубрика: Java, Задачки | 9 April 2007, 10:04 | juriy

Небольшой QuickLet для разминки мозгов. Что будет напечатано в результате выполнения фрагмента?

От меня лично просьба: сначала напишите ответ в комментах, а потом проверяйте компилятором :-)

[java]

package ua.net.lab.test;
public class Main {
  class Foo {
    public String myName;
    public Foo(String name) {
      myName = name;
    }
  }

  public Foo test() {
    Foo result = new Foo("Starting");
      try {
        System.out.println("Try Block");
        result = new Foo("TRY");
        return result;
      } finally {
        System.out.println("In finally block");
        result = new Foo("FINALLY");
      }
  }

  public static void main(String[] args) {
    System.out.println((new Main().test()).myName);
  }
}

[/java]

1. Будет ошибка на этапе компиляции: для блока try не описан ни один catch.
2.
Try Block
TRY

3.
Try Block
In finally block
FINALLY

4.
Try Block
In finally block
TRY

Страница 2 из 212