«Эта статья участвовала в мероприятии Haowen Convocation Order, щелкните, чтобы просмотреть:Заявки на бэк-энд и фронт-энд с двумя треками, призовой фонд в 20 000 юаней ждет вас, чтобы бросить вызов! "
Уровень сложности: средний
Предскажите вывод следующей программы Java:
вопрос
Вопрос первый
class GfG
{
public static void main(String args[])
{
String s1 = new String("geeksforgeeks");
String s2 = new String("geeksforgeeks");
if (s1 == s2)
System.out.println("Equal");
else
System.out.println("Not equal");
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос второй
class Person
{
private void who()
{
System.out.println("Inside private method Person(who)");
}
public static void whoAmI()
{
System.out.println("Inside static method, Person(whoAmI)");
}
public void whoAreYou()
{
who();
System.out.println("Inside virtual method, Person(whoAreYou)");
}
}
class Kid extends Person
{
private void who()
{
System.out.println("Kid(who)");
}
public static void whoAmI()
{
System.out.println("Kid(whoAmI)");
}
public void whoAreYou()
{
who();
System.out.println("Kid(whoAreYou)");
}
}
public class Gfg
{
public static void main(String args[])
{
Person p = new Kid();
p.whoAmI();
p.whoAreYou();
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос третий
class GfG
{
public static void main(String args[])
{
try
{
System.out.println("First statement of try block");
int num=45/3;
System.out.println(num);
}
catch(Exception e)
{
System.out.println("Gfg caught Exception");
}
finally
{
System.out.println("finally block");
}
System.out.println("Main method");
}
}
Нажмите здесь, чтобы перейти к ответу
Вопрос четвертый
class One implements Runnable
{
public void run()
{
System.out.print(Thread.currentThread().getName());
}
}
class Two implements Runnable
{
public void run()
{
new One().run();
new Thread(new One(),"gfg2").run();
new Thread(new One(),"gfg3").start();
}
}
class Three
{
public static void main (String[] args)
{
new Thread(new Two(),"gfg1").start();
}
}
Нажмите здесь, чтобы перейти к ответу
Поместите картинку милой девушки для снятия усталости глаз.Вторая половина статьи - вывод и разбор программы
вывод и разбор
вопрос ответ
вывод:
Not equal
объяснять:
Поскольку s1 и s2 — два разных объекта, ссылки не совпадают, и оператор == сравнивает ссылки на объекты. Поэтому он печатает «не равно», чтобы сравнить фактические символы в строке, необходимо использовать метод .equals().
Вопрос два ответа
вывод:
Inside static method, Person(whoAmI)
Kid(who)
Kid(whoAreYou)
иллюстрировать:
Статическое связывание (или время компиляции) происходит со статическими методами. Здесь p.whoAmI() вызывает статический метод, поэтому он вызывается во время компиляции, что приводит к статической привязке и печати метода в классе Person. И p.whoAreYou() вызывает метод в классе Kid, потому что по умолчанию Java рассматривает его как виртуальный метод, то есть динамическое связывание.
Вопрос три ответа
вывод:
First statement of try block
15
finally block
Main method
объяснять:
Поскольку исключений нет, блок catch не вызывается, но блок finally всегда выполняется после блока try независимо от того, обрабатывается исключение или нет.
Вопрос четыре ответа
вывод:
gfg1gfg1gfg3
иллюстрировать:
Первоначально новый поток запускается с именем gfg1, затем во втором классе первый метод запуска запускает поток с именем gfg1, затем создает новый поток, вызывая метод запуска, но поскольку новый поток может быть создан только путем вызова метода запуска, предыдущий поток Действие выполняется, и снова печатается gfg1. Теперь создается новый поток, вызывая метод запуска, чтобы запустить новый поток с именем gfg3, таким образом печатая gfg3.
Статьи по Теме:
[Java-упражнения] Вывод Java-программ | Первый набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Второй набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод Java-программ | Третий набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Четвертый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Пятый набор (включая анализ)
[Вопросы по практике Java] Вывод Java-программ | Шестой набор (включая синтаксический анализ)
[Вопросы по практике Java] Вывод программ Java | Седьмой набор (включая анализ)
Я давно веду блог о технологиях, и это одна из моих технических статей/руководств. Надеюсь, вам это понравится! Вот краткое изложение всех моих оригинальных и исходных кодов работ:GitHub,Gitee
Если вы действительно узнали что-то новое из этой статьи, ставьте лайк, добавляйте в закладки и делитесь с друзьями. 🤗Наконец, не забудьте поддержать ❤ или 📑