Почему статический локальный класс не разрешен в методе? [закрыто]

Я отряхиваю Java, и у меня есть некоторые недоразумения о локальных классах (которые я в конечном итоге никогда не использовал), я хорошо понимаю концепцию статического, но не в случаеместные классы.

1. Почему статический метод не разрешен в локальных классах?

2. Почему статический локальный класс не разрешен в методе?

Статический метод не разрешен в локальных классах:

Здесь я не понимаю Для меня локальный класс привязан к статическому методу main. Я просто не понимаю, почему этого нельзя сделать. Доступ к методу main осуществляется через класс Sequence, а затем, так как sayGoodbye является статическим, к нему следует обращаться через его класс. Но нет.

public class Sequence {

    public static void main(String... args) {

        class EnglishGoodbye {
            public static void sayGoodbye() { // this cannot be done
                System.out.println("Bye bye");
            }
        }
        EnglishGoodbye.sayGoodbye();
    }
}
Статический локальный класс не разрешен в методе:

Это невозможно сделать: это немного двусмысленно, но я думаю, что статический здесь будет иметь то же значение, что и нестатический, поскольку статический класс привязан к статическому методу. Я не совсем понимаю.

public class Sequence {

    public static void main(String... args) {

        static class EnglishGoodbye { //static local classes not allowed
            public static void sayGoodbye() {
                System.out.println("Bye bye");
            }
        }
        EnglishGoodbye.sayGoodbye();
    }
}

Редактировать: Первый ответ, который я получил, был цитатой из оракула:

Локальные классы не являются статичными, потому что они имеют доступ к членам экземпляра вмещающего блока. Следовательно, они не могут содержать большинство видов статических объявлений.

и мой ответ:

Это, правда, не все объясняет. Когда у вас есть внутренний класс, вы не можете получить доступ к нестатическим полям, но вы можете получить доступ к статическим полям. То же самое должно применяться к локальному классу, и поскольку нет статической переменной, то это бесполезно. Но как насчет методов, как в моем примере.

Хорошо, я сделал схему, чтобы лучше объяснить, как я смотрю на вещи. Хотя это может быть совершенно ошибочно, и мне немного стыдно это показать. В этой схеме и в сценарии, где статический локальный классбыло бы быть доступным у меня был бы локальный класс в верхнем блоке памяти. Всякий раз, когда вызывается статический метод2, он просто ссылается на него.

Ответы на вопрос(1)

Ваш ответ на вопрос