单项选择题

A.非静态嵌套类定义在成员位置、方法、代码块等位置
B.非静态嵌套类中可以定义实例成员、静态常量、静态方法等成员
C.非静态嵌套类创建对象时必须先有外部类的对象
D.非静态嵌套类可以直接访问外部类所有成员