在java中创建内部类对象的问题

在java中创建内部类对象的问题

本文介绍了在java中创建内部类对象的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



以下是代码。


Here is the code.

public class Test {
        class InnerClass{

               }

   public static void main(String[] args){
            InnerClass ic = new InnerClass();
        }
    }

它显示错误消息

non-static variable this cannot be referenced from a static context
after creation of object ic.

任何人都可以给我原因吗?

Can anyone give me the reason?

谢谢

推荐答案

InnerClass 需要 static 本身,即

public class Test {

   static class InnerClass{
   }

   public static void main(String[] args){
      InnerClass ic = new InnerClass();
   }
}

如果 InnerClass static ,它只能在 Test的父实例的上下文中实例化。相当巴洛克式的语法是:

If InnerClass is not static, it can only be instantiated in the context of a parent instance of Test. The rather baroque syntax for this is:

public class Test {

   class InnerClass{
   }

   public static void main(String[] args){
      Test test = new Test();
      InnerClass ic = test.new InnerClass();
   }
}

这篇关于在java中创建内部类对象的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 00:10