14 июля 2026
21 июля 2026
public class Test {
public static void main(String[] args) {
System.out.println("5" + true);
}
}
421 · Опрос
нажмите — покажем
467 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросВ Java, когда оператор «плюс» (+) используется с хотя бы одной строкой, он перестает быть математическим знаком сложения и превращается в оператор объединения строк.
Этот процесс работает следующим образом:
1. Компилятор видит, что первый операнд — это строка "5".
2. По правилам Java, если один из операндов — строка, то второй автоматически преобразуется в строковый тип. Логическое значение true превращается в текстовую строку "true".
30 июля 2026
public class Test {
public static void main(String[] args) {
boolean f = false;
System.out.println(f = f ^ true);
}
}
380 · Опрос
нажмите — покажем
448 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросВыводится результат оператора присвоения(=), результат присвоения равен результату выражения с правой части. А там false xor true, результат этого выражения true
10 августа 2026
class Person {
public static int idGenerator = 0;
private int id;
public Person() {
this.id = idGenerator++;
}
}
public class Test {
public static void main(String[] args) {
Person[] arr = new Person[10];
System.out.println(Person.idGenerator);
}
}
292 · Опрос
нажмите — покажем
337 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросPerson[] arr = new Person[10]; создаёт только массив ссылок на Person, но не сами объекты Person.
Конструктор Person() вообще не вызывается, поэтому idGenerator++ не выполняется и значение остаётся 0.
17 августа 2026
public class Test {
public static void main(String[] args) {
System.out.println(true &! false);
}
}
163 · Опрос
нажмите — покажем
167 · нажмите — покажем
18 августа 2026
public class Test {
public static void main(String[] args) {
boolean b = false;
System.out.println(b++);
}
}
125 · Опрос
нажмите — покажем
125 · нажмите — покажем
29 августа 2026
class One {
public static void go() {
System.out.print("one ");
}
}
class Two extends One {
public static void go() {
System.out.print("two ");
}
}
class Three extends Two {
public static void go() {
System.out.print("three ");
}
}
public class Test {
public static void main(String[] args) {
One one = new One();
one.go();
One two = new Two();
two.go();
Two two2 = new Three();
two2.go();
}
}
303 · Опрос
нажмите — покажем
361 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросПочему: go() — static-метод, а static-методы не переопределяются (override), а скрываются (method hiding). Поэтому выбор метода происходит по типу переменной, а не по фактическому объекту:
One one → One.go() → one
One two → One.go() → one
Two two2 → Two.go() → two
31 августа 2026
public class Test {
public static void main(String[] args) {
System.out.println(condition(null) ? 1 : 2);
}
public static boolean condition(Number o) {
return true;
}
public static boolean condition(Long l) {
return false;
}
}
359 · Опрос
нажмите — покажем
420 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросПочему: при вызове condition(null) выбирается более специфичный метод — condition(Long), потому что Long является наследником Number.
Он возвращает false, поэтому тернарный оператор выбирает 2.
8 сентября 2026
public class Test {
{
System.out.println(i);
}
int i;
public Test(int i){
this.i = i;
}
public static void main(String[] args) {
new Test(1);
}
}
277 · Опрос
нажмите — покажем
299 · нажмите — покажем
Java | Tests Chat
id 2495295153ОпросCannot read value of field 'i' before the field's definition
Не удается прочитать значение поля i до определения поля
15 сентября 2026
class Dog {
public static void bark() {
System.out.print("Woof ");
}
}
class Basenji extends Dog {
public static void bark() { }
}
public class Bark {
public static void main(String[] args) {
Dog woofer = new Dog();
Dog nipper = new Basenji();
woofer.bark();
nipper.bark();
}
}
173 · Опрос
нажмите — покажем
170 · нажмите — покажем