Pull to refresh

Две задачи по языку Java

Reading time1 min
Views2.9K
В ходе проведения собеседований выделил для себя несколько интересных задач по базовым знаниям языка Java. Вот две неплохие:

I. Что произойдет при выполнении класса?
public class Finally {
 public static void main(String[] args) {
  try {
   return;
  } finally {
   System.out.println(«finally»);
  }
 }
}
A. Компилятор выдаст ошибку.
B. Распечается «finally».
C. Ничего не распечатается.

II. Изменится ли вывод, если в классе A у метода doInternal() заменить модификатор доступа: 1) на private, 2) на public?

public class A {
 public static void main(String[] trs) {
  new B().doPublic();
 }
 public void doPublic() {
  doInternal();
 }
 protected void doInternal() {
  System.out.println(«Do internal in A»);
 }
}
class B extends A {
 public void doInternal() {
  System.out.println(«Do internal in B»);
 }
}
Tags:
Hubs:
Total votes 2: ↑1 and ↓10
Comments17

Articles