如何在Java中实例化成员内部类?

在类内部但在方法外部声明的类称为成员内部类。

我们可以通过两种方式实例化成员内部类

  • 在类内调用

  • 在类外调用

内部阶级规则

  • 外部类(包含内部类的类)可以在其代码内实例化任意数量的内部类对象。

  • 如果内部类是public且包含类,那么其他一些不相关的类中的代码也可以创建内部类的实例。

  • 没有内部类对象会自动用外部类对象实例化。

  • 如果内部类是静态的,则可以在没有外部类实例的情况下实例化静态内部类。否则,内部类对象必须与外部类的实例相关联。

  • 外部类甚至可以调用内部类的私有方法。

在类内部调用的成员内部类

在下面的示例中,我们从OuterClass的display()方法调用成员内部类的方法。

示例

public class OuterClass {

   private int value = 20;

      class InnerClass {

         void show() {

            System.out.println("Value is: " + value);

      }

   }

   void display() {

      InnerClass ic = new InnerClass();

      ic.show();

   }

   public static void main(String args[]){

      OuterClass oc = new OuterClass();

      oc.display();

   }

}

Value is: 20


在类外部调用的成员内部类

在下面的示例中,我们从OuterClass外部(即Test类)调用InnerClass的show()方法。

示例

class OuterClass {

   private int value = 20;

      class InnerClass {

         void show() {

            System.out.println("Value is: "+ value);

      }

   }

}

public class Test {

   public static void main(String args[]) {

      OuterClass obj = new OuterClass();

      OuterClass.InnerClass in = obj.new InnerClass();

      in.show();

   }

}

输出结果

Value is: 20

以上是 如何在Java中实例化成员内部类? 的全部内容, 来源链接: utcz.com/z/352599.html

回到顶部