Привет! Сделала два простеньких класса, чтобы кое-что проверить:
public class Person {

    public Person() {
        System.out.println("Привет! Я класс Person");
    }

    Person someMethod() {
        System.out.println("Tik");
        return new Person();
    }
и
public class User extends Person {

    public User() {
    System.out.println("Привет! Я класс User");
}

    @Override
    public Person someMethod() {
        super.someMethod();
        return null;
    }
}
Если в мэйне написать так:
public static void main(String[] args) throws Exception {
    User user = new User();
    user.someMethod();
}
То будет такой вывод:
Привет! Я класс Person
Привет! Я класс User
Tik
Привет! Я класс Person
Из чего я делаю, что при вызове someMethod() у класса User, сработал одноименный метод суперкласса (собственно, это очевидно), но в этом методе суперкласса есть оператор return — return new Person(). А в методе-наследнике, он не срабатывает, как будто съелся. Кто может подсказать, почему так?