81. Вывести Right, но не Wrong
Условие задачи:
Дан класс с методами main() и main2().
Необходимо сделать так, чтобы при запуске программы выводилось:
Right
и не выводилось:
Wrong
Предложить несколько вариантов.
Код:
public class Interview {
public static void main(String[] args) {
System.out.println("Wrong");
}
public static void main2(String[] args) {
System.out.println("Right");
}
}
Спойлеры к решению
Подсказки
💡 JVM ищет точку входа с именем
💡 Метод
💡 Можно вызвать
💡 Можно поменять имена методов или изменить содержимое
main.💡 Метод
main2() автоматически не вызывается.💡 Можно вызвать
main2() из main().💡 Можно поменять имена методов или изменить содержимое
main().Решение
При обычном запуске Java выполняет метод:
public static void main(String[] args)
Поэтому main2() сам по себе вызван не будет.
Вариант 1 — вызвать main2() из main():
public static void main(String[] args) {
main2(args);
}
public static void main2(String[] args) {
System.out.println("Right");
}
Результат:
Right
Вариант 2 — поменять методы местами по имени:
public static void main2(String[] args) {
System.out.println("Wrong");
}
public static void main(String[] args) {
System.out.println("Right");
}
Вариант 3 — вывести нужное значение непосредственно из main():
public static void main(String[] args) {
System.out.println("Right");
}
Ещё один вариант — запустить main2() из другого класса:
public class Starter {
public static void main(String[] args) {
Interview.main2(args);
}
}
Главный момент: стандартной точкой входа является именно метод:
public static void main(String[] args)
Название main2 для JVM специального значения не имеет.