«Эта статья участвовала в мероприятии Haowen Convocation Order, щелкните, чтобы просмотреть:Заявки на бэк-энд и фронт-энд с двумя треками, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов! "
Уровень сложности: средний
Предскажите вывод следующей программы Java:
проблема
Вопрос первый
class Gfg
{
// constructor
Gfg()
{
System.out.println("juejin");
}
static Gfg a = new Gfg(); //line 8
public static void main(String args[])
{
Gfg b; //line 12
b = new Gfg();
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос второй
class Gfg
{
static int num;
static String mystr;
// constructor
Gfg()
{
num = 100;
mystr = "Constructor";
}
// First Static block
static
{
System.out.println("Static Block 1");
num = 68;
mystr = "Block1";
}
// Second static block
static
{
System.out.println("Static Block 2");
num = 98;
mystr = "Block2";
}
public static void main(String args[])
{
Gfg a = new Gfg();
System.out.println("Value of num = " + a.num);
System.out.println("Value of mystr = " + a.mystr);
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос третий
class superClass
{
final public int calc(int a, int b)
{
return 0;
}
}
class subClass extends superClass
{
public int calc(int a, int b)
{
return 1;
}
}
public class Gfg
{
public static void main(String args[])
{
subClass get = new subClass();
System.out.println("x = " + get.calc(0, 1));
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос четвертый
public class Gfg
{
public static void main(String[] args)
{
Integer a = 128, b = 128;
System.out.println(a == b);
Integer c = 100, d = 100;
System.out.println(c == d);
}
}
Нажмите здесь, чтобы перейти к ответу
Поместите картинку милой девушки для снятия усталости глаз.Вторая половина статьи - вывод и разбор программы
вывод и разбор
вопрос ответ
вывод:
juejin
juejin
объяснять:
Мы знаем, что статические переменные вызываются при загрузке класса, а статические переменные вызываются только один раз. Теперь строка 13 вызывает создание объекта, который, в свою очередь, вызывает конструктор, печатающий «juejin» во второй раз. Если бы статическая переменная не использовалась в строке 8, объект вызывался бы бесконечно рекурсивно, что приводило бы к ошибке StackOverFlow. См. этот пример запуска.
Вопрос два ответа
вывод:
Static Block 1
Static Block 2
Value of num = 100
Value of mystr = Constructor
инструкция:
Статические блоки выполняются, когда класс загружается в память. Класс может иметь несколько статических блоков, которые выполняются в том же порядке, в котором они были записаны в программу.
Примечание. Статические методы могут обращаться к переменным класса без использования объекта класса. Поскольку конструктор вызывается при создании нового экземпляра, сначала вызывается статический блок, а затем конструктор. Если мы запустим ту же программу без использования объекта, конструктор вызываться не будет.
Вопрос три ответа
вывод:
Compilation fails
объяснять:
Метод calc() в классе superClass является окончательным и поэтому не может быть переопределен.
Вопрос четыре ответа
вывод:
false
true
инструкция:
Объяснение: В исходном коде объекта Integer мы находим метод 'valueOf', в этом методе мы видим, что диапазон объекта Integer находится в пределах от IntegerCache.low(-128) до IntegerCache.high(127). Таким образом, числа выше 127 не дадут ожидаемого результата. Объем IntegerCache можно увидеть из исходного кода класса IntegerCache.
Статьи по Теме:
[Вопросы по практике Java] Вывод программ на Java | Первый набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Второй набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод Java-программ | Третий набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Четвертый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Пятый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Шестой набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Седьмой набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Восьмой набор (включая анализ)
Я давно веду блог о технологиях, и это одна из моих технических статей/руководств. Надеюсь, вам это понравится! Вот краткое изложение всех моих оригинальных и исходных кодов работ:GitHub,Gitee
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поддержать ❤ или 📑