Nella programmazione orientata agli oggetti (OOP), una classe interna o una classe annidata è una classe dichiarata interamente all'interno del corpo di un'altra classe o interfaccia. Tuttavia, in Java, una classe interna è una classe nidificata non statica.