Понимаю что 100500 раз спрашиваю. Но как наследуются приватные методы, как это понимать нет своего метода getName(), свое приватное поле name же существует. Почему при вызове System.out.println(super.name); выводится "The Darkside Hacker", разве не должно быть "Риша" ?
public class Solution {
    private String name;

    Solution(String name) {
        this.name = name;
    }

    private String getName() {
        return name;
    }

    private void sout() {
        new Solution("The Darkside Hacker") {
            void printName() {
                System.out.println(getName());
            }
        }.printName();
    }

    public static void main(String[] args) {
        new Solution("Риша").sout();
    }
}