Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I resolve "an enclosing instance that contains X.Y is required"?

I am developing a small desktop application in Netbeans. This is my first program and I am facing a very strange type of error. I know I did some thing wrong but unable to trace what I am doing wrong :(

Please help me in resolving this error.

Description: I have a default package Src and I am creating new Java classes in this package as required. Along with other classes I made a class X like this:

public class X {     public class Y     {//some member functions and variables exist here}      public class Z     {//some member functions and variables exist here}      //some member functions and variables exist here } 

Now I need to create instance of one of the inner classes in some other class that exists in the same package, like this:

public X.Y oY = new X.Y(); 

but I am getting the following error:

an enclosing instance that contains X.Y is required

Please help me in resolving this error.

like image 502
Jame Avatar asked Oct 01 '11 09:10

Jame


2 Answers

First of all you have to create an object of X class (outer class) and then use objX.new InnerClass() syntax to create an object of Y class.

Try,

X x=new X(); X.Y y=x.new Y(); 
like image 162
KV Prajapati Avatar answered Sep 28 '22 05:09

KV Prajapati


You want to declare static inner classes: public static class Y.

like image 39
Hugh Avatar answered Sep 28 '22 04:09

Hugh