Я видел пару подобных примеров на Java и надеюсь, что кто-нибудь сможет объяснить, что происходит. Похоже, что новый класс можно определить встроенным, что мне кажется очень странным. Ожидается первая строка распечатки, поскольку это просто toString. Однако, похоже, что 2-я функция может быть переопределена встроенной. Есть ли для этого технический термин? Или любую документацию, которая углубляется? Спасибо!
Если у меня есть следующий код:
public class Apple {
public String toString() {
return "original apple";
}
}
public class Driver {
public static void main(String[] args) {
System.out.println("first: " + new Apple());
System.out.println("second: " +
new Apple() {
public String toString() {
return "modified apple";
}
}
);
}
}
Код выводит:
first: original apple
second: modified apple