Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Senior/Middle Java Backend Developer

Зарплата: От 120000 RUB

Задачи
— Программировать новые сервисы и дорабатывать существующие;
— Быть точкой ответа на любые прочие технические вопросы;
— Выполнять декомпозицию фич;
— Выполнять code review (вообще у нас cross);
— Контролировать деплои;
— Обеспечивать непрерывность работы системы;

https://proglib.io/vacancies/senior-middle-java-backend-developer-biblioteka-programmista-2019-11-19
Какую ошибку выдаст программа?

class Base { 
protected void foo() {}
}
class Derived extends Base {
void foo() {}
}
public class Main {
public static void main(String args[]) {
Derived d = new Derived();
d.foo();
}
}
Правильный ответ: Compiler Error.

Метод foo() объявлен protected в Base и без модификатора доступа в Derived. Protected-модификатор более "слаб". Когда класс переопределяет метод класса-родителя, не может быть использован более "слабый" модификатор. Если в Base сделать foo() не protected, а public, программа скомпилируется.
 First 
{
public First() { System.out.println("a"); }
}

class Second extends First
{
public Second() { System.out.println("b"); }
}

class Third extends Second
{
public Third() { System.out.println("c"); }
}

public class MainClass
{
public static void main(String[] args)
{
Third c = new Third();
}
}


Что выведет программа?
Правильный ответ:

a
b
c

Когда создается новый объект класса Third, до того как вызвать дефолтный конструктор класса Third вызывается дефолтный конструктор класса-родителя, то есть Second, и так далее до начального класса.
Что будет выведено на экран?

 class Calculator 
{
int num = 100;
public void calc(int num) { this.num = num * 10; }
public void printNum() { System.out.println(num); }

public static void main(String[] args)
{
Calculator obj = new Calculator();
obj.calc(2);
obj.printNum();
}
}
Библиотека джависта | Java, Spring, Maven, Hibernate
Что будет выведено на экран? class Calculator { int num = 100; public void calc(int num) { this.num = num * 10; } public void printNum() { System.out.println(num); } public static void main(String[] args) { Calculator…
Ответ — 20.

В этом коде совпадают названия переменной класса и параметра метода. Для того чтобы обратиться к переменной класса из тела метода calc(), нужно использовать ключевое слово this. В выражении this.num = num * 10 переменная num является локальной переменной метода, и её значение 2, в то время как this.num представляет собой переменную класса, чье начальное значение равно 100. В методе printNum() нет параметра с совпадающим с переменной названием, поэтому на экран выводится измененная переменная num, равная 20.
Что выведет программа?

 class Test 
{
public static void main(String[] args)
{
StringBuilder s1 = new StringBuilder("Java");
String s2 = "Love";
s1.append(s2);
s1.substring(4);
int foundAt = s1.indexOf(s2);
System.out.println(foundAt);
}
}
Библиотека джависта | Java, Spring, Maven, Hibernate
Что выведет программа? class Test { public static void main(String[] args) { StringBuilder s1 = new StringBuilder("Java"); String s2 = "Love"; s1.append(s2); s1.substring(4); int foundAt = s1.indexOf(s2);…
Ответ: вариант 3) 4.

В коде метод append присоединяет строку s2 к переменной StringBuilder. Далее метод substring возвращает строку от заданного индекса до конца строки. Полученное значение нигде не сохраняется; далее метод indexOf вернет индекс первого появления строки "Love" в s1, то есть 4.
Что будет выведено на экран?

class Test { 
public
static void main(String[] args)
{
for (;;)
System.out.println("Java");
}
}
#book #beginner

Несмотря на то, что уже существует Java SE 9, а версия, описываемая в книге, не выше Java SE 5/6, книга считается классикой программирования на Java и содержит полный обзор языка (за вычетом, разумеется, нововведений последних версий). Автор хорошо изложил основы, касающиеся как Java, так и объектно-ориентированного стиля программирования. Также каждая глава содержит упражнения по закреплению пройденного ранее материала.

t.me/progbook/2549
Хочешь начать карьеру в финтехе с обучения в Лондоне? Умеешь программировать, разбираешься в алгоритмах и структурах данных, но не знаешь Java, C++, JS?

Коллеги в будущем проекте научат :)

Технологический Центр Дойче Банка приглашает тебя стать частью команды.

Требования:
• выпускник 2019-2020 года факультета ИТ, прикладной математики или физики
• английский уровня Intermediate и выше
• готовность работать full-time

Оставь заявку на https://prglb.ru/4zbd5
Библиотека джависта | Java, Spring, Maven, Hibernate
Что будет выведено на экран? class Test { public static void main(String[] args) { for (;;) System.out.println("Java"); } }
Ответ: Java (бесконечно)

В цикле for, представленном выше, мы ничего не инициализируем, не проверяем никаких условий и не инкрементируем/декрементируем переменных, и в данном случае он будет работать бесконечно.
Что будет выведено на экран?

 class Base 
{
private int data;

public Base()
{
data = 5;
}

public int getData()
{
return this.data;
}
}

class Derived extends Base
{
private int data;
public Derived()
{
data = 6;
}
private int getData()
{
return data;
}

public static void main(String[] args)
{
Derived myData = new Derived();
System.out.println(myData.getData());
}
}
Только в декабре действует масштабная распродажа от Skillbox!
Скидка 50% на все курсы по программированию!

Подробности по ссылке: 🔜 https://clc.to/yeGxgg

Что тебя ждёт?

💻 Самые популярные и востребованные языки программирования: Java, Python, С#, PHP.
💻 Опытнейшие преподаватели-практики.
💻 Вебинары, встречи и воркшопы.
💻 Бессрочный доступ к материалам курса.
💻 Возможность стажировки и трудоустройства в топовых компаниях России.

Стань успешным разработчиком!
Библиотека джависта | Java, Spring, Maven, Hibernate
Что будет выведено на экран? class Base { private int data; public Base() { data = 5; } public int getData() { return this.data; } } class Derived extends Base { private int data; …
Правильный ответ: 3) Compile time error.

Когда переопределяется метод родительского класса, он не может стать более ограничивающим, чем был изначально.
Что выведет программа?

 Helper 
{
private int data;
private Helper()
{
data = 5;
}
}
public class Test
{
public static void main(String[] args)
{
Helper help = new Helper();
System.out.println(help.data);
}
}
Что выведет программа?

import java.io.*; 
public class Test
{
public void display() throws IOException
{
System.out.println("Test");
}

}

class Derived extends Test
{
public void display() throws IOException
{
System.out.println("Derived");
}
public static void main(String[] args) throws IOException
{
Derived object = new Derived();
object.display();
}
}
Библиотека джависта | Java, Spring, Maven, Hibernate
Что выведет программа? import java.io.*; public class Test { public void display() throws IOException { System.out.println("Test"); } } class Derived extends Test { public void display() throws IOException { …
Ответ: 2) Derived.

Если метод суперкласса пробрасывает исключение, переопределённый метод подкласса тоже может пробрасывать это исключение.