Coffee和Tea这两个内部类是非静态的,什么意思呢?只有你的drinks类有实例,这两个类实例才能被引用,因为每一个非静态内部类的实例都隐含有外部类的实例.现在你的drinks没有实例,只是在静态main方法中向创建非静态内部类的实例,当然不能工作了.修改办法很简单,把你的Coffee类和Tea类声明为静态static.