È sbagliato chiamare una "classe nidificata non statica" e una "classe interna" in Java?

0

Stavo leggendo questa domanda in SO, e contiene quanto segue:

A non-static nested class (sometimes incorrectly referred to as an 'inner class') (...)

E mi ha confuso. A 350+ upvotes, presumo che la risposta sia fondamentalmente corretta, e ho fatto ulteriori ricerche sulla differenza tra "classe nidificata non statica" e "classe interna" per scoprire perché è errato chiamarne una dall'altra.

Il tutorial di Oracle (canonico?):

Terminology: Nested classes are divided into two categories: static and non-static. Nested classes that are declared static are called static nested classes. Non-static nested classes are called inner classes.

emphasis mine.

Robert "Corky" Cartwright ha scritto in il suo libro :

class A {
      class B {
         // fields, methods of class B...
      }
      // fields, methods of class A...
}

(...)

A nested class like B is known as an inner class. (ref)

Vorrei dissipare questa confusione. Nel gergo di Java, non è corretto riferirsi a una classe annidata non statica come una classe interiore? Se sì, perché?

    
posta Mindwin 01.06.2016 - 23:02
fonte

1 risposta

4

In base alla Specifiche della lingua Java s. 8.1.3 ,

"Una classe interna è una classe nidificata che non è dichiarata in modo esplicito o implicito"

Poiché questo è il documento più autorevole sul linguaggio Java, la risposta alla tua domanda è no, non è corretto usare questo termine.

    
risposta data 01.06.2016 - 23:10
fonte

Leggi altre domande sui tag