java内部类实例化时报错解决

    技术2024-11-08  11

    如果有一个类的结构如下:

    public class Data {

    public class Item {

    }

    }; 如果需要实例化Item类时,可能会写成:Data.Item item = new Data.Item();

    但是编译器就会出现一个错误:‘com.test.Data.Item’ is not an enclosing class

    其实这种写法是错误的,正确的方式为: Data data = new Data();

    Data.Item item = data.new Item();

    如果内部类是static的,如下:

    public class Data {

    public static class Item {   }

    };

    那就可以直接使用如下方式来实例化:Data.Item item = new Data.Item();

    Processed: 0.037, SQL: 9