本帖最后由 camml 于 2013-7-10 15:47 编辑
楼主的代码很明显会有编译错误,如果外部类的静态方法想创建非静态内部类的对象时,需要加上外部类的类名。
下面是修改后的代码- public class OuterClass {
- public static void main(String[] args) {
- //原代码会出现“java中静态方法中不能调用非静态的方法”的错误,修改为
- OuterClass.InnerClass innerClass = new OuterClass().new InnerClass();
- innerClass.say();
- System.out.println("I am in OuterClass!");
- }
- //定义一个内部类
- private class InnerClass{
- private void say() {
- System.out.println("I am in InnerClass!");
- }
- }
- }
复制代码 |