Почему возникает ошибка No enclosing instance?

Почему на строчке "Curtain objCurtain = new Curtain();" возникает ошибка "No enclosing instance of type NextProject is accessible. Must qualify the allocation with an enclosing instance of type NextProject (e.g. x.new A() where x is an instance of NextProject)." ?

package NextProject;
import java.util.Scanner;

public class NextProject {

public static void main(String[] args) {
    Curtain objCurtain = new Curtain();
    System.out.println("Enter your name");
    Scanner scan = new Scanner(System.in);
    String username = scan.nextLine();
    objCurtain.setName(username);
    objCurtain.getName();
}

 class  Curtain {
    private String name;
    public void setName(String username) {
        name = username;
    }
    public void getName() {
        System.out.println(name);
    }
}

}


Ответы (2 шт):

Автор решения: Igor
  ...
  static class Curtain {
    ...
  }
}
→ Ссылка
Автор решения: Pentiux

Потому что у вас нет объекта класса NextProject, а класс Curtain внутренний. Либо вынесите класс во вне, либо сделайте его static, чтобы вызывать в статик методе.

→ Ссылка