当前位置:首页 > 开发 > 编程语言 > Java > 正文

java 内部类 静态方法中new 内部类

发表于: 2014-07-22   作者:墙头上一根草   来源:转载   浏览:
摘要: 最 近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g.  x.new A() where x is

最 近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类。结果编译时出现:No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing instance of type E(e.g.  x.new A() where x is an instance of E). E指代我写的那个内部类。

根据提示,没有可访问的内部类E的实例,必须分配一个合适的内部类E的实例(如x.new A(),x必须是E的实例。)看着这句提示,我就纳闷了,我已经用new实例化了这个类,为什么还不行呢。

于是百度谷歌了一下相关资料。原来我写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以不做其他变动的情况下,最简单的解决办法是将public class改为public static class.

java 内部类 静态方法中new 内部类

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在Java中我们在一个类的内部再定义一个类,如下所示: class OuterClass { ... class NestedClass {
在Java中,被定义在另一类中的类被称为内部类,另一个相对于内部类的类叫做外部类。内部类允许编程
内部类引用外部类方法,逻辑有些绕。 1.内部类生成对外部类对象的引用 外部类名称+.this; 2.外部类
成员内部类的意思就是,一个外层类里面包含着一个非static的class,举例如下: class OuterClass {
最近看到一个面试问题 内部类的实质是什么 看了别人给出的解释,上网查了相关资料,也自己动手测试
在某些情况下,把一个类放在另一个类的内部定义,这个定义在其他类内部的类就称为内部类。包含内部
内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在
java内部类总结[转-] 2008-07-08 12:24 内部类是指在一个外部类的内部再定义一个类。内部类作为
一、概述   可以将一个类的定义放在另一个类的定义内部,这就是内部类。内部类主要有如下作用:
//仅作为学习笔记 /* 内部类定义在局部时 1,不可以被成员修饰符修饰 2,可以直接访问外部类中的成
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号