栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

可以在Java中实例化静态嵌套类吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

可以在Java中实例化静态嵌套类吗?

您可能是混淆

static
abstract
作为kihero说,或者你是得过且过与具有一个类的概念
static
方法(这只是碰巧有静态方法的类)。

静态嵌套类只是一个嵌套类,不需要其封闭类的实例。如果您熟悉C ,则C 中的 所有
类都是“静态”类。在Java中,默认情况下,嵌套类不是静态的(此非静态种类也称为“内部类”),这意味着它们需要其外部类的实例,并在隐藏字段的后台进行跟踪,但是这使内部类可以引用其关联的封闭类的字段。

public class Outer {    public class Inner { }    public static class StaticNested { }    public void method () {        // non-static methods can instantiate static and non-static nested classes        Inner i = new Inner(); // 'this' is the implied enclosing instance        StaticNested s = new StaticNested();    }    public static void staticMethod () {        Inner i = new Inner(); // <-- ERROR! there's no enclosing instance, so cant do this        StaticNested s = new StaticNested(); // ok: no enclosing instance needed        // but we can create an Inner if we have an Outer:         Outer o = new Outer();        Inner oi = o.new Inner(); // ok: 'o' is the enclosing instance    }}

如何在静态方法中实例化非静态内部类的许多其他示例

实际上,默认情况下,我实际上将所有嵌套类都声明为静态,除非我特别需要访问封闭类的字段。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454180.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号