为什么引用静态内部类不需要创建对象?

 我来答
匿名用户
2015-08-11
展开全部
  因为静态类和方法只属于类本身,并不属于该类的对象,更不属于其他外部类的对象。
  静态内部类,定义在类中,任何方法外,用static定义;静态内部类只能访问外部类的静态成员。
  生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in=new Outer.Inner();而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类。可以定义私有静态内部类。
輕浮203次围观
2013-11-13 · 超过64用户采纳过TA的回答
知道答主
回答量:142
采纳率:50%
帮助的人:58.6万
展开全部
“创建一个static内部类的对象,我们不需要一个外部类对象”是指:当你试图要new一个static的内部类时,不需要先将外部类实例化;而对非static的内部类进行操作时(比如new)时,是必须先将外部类实例化的。public class AAA{ public static void main(String[] args) { // Create static inner class objects. AAA.StaticInner in = new AAA.StaticInner(); in.f1(); // Create non-static inner class objects. AAA a = new AAA(); AAA.NonStaticInner non = a.getNonStaticInner(); non.f2(); } static class StaticInner { void f1() { System.out.println("Inner funcation f1()!"); } } class NonStaticInner { void f2() { System.out.println("Inner funcation f2()!"); } } NonStaticInner getNonStaticInner() { return new NonStaticInner(); }}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式