tags:

views:

38

answers:

2

everything is the title
java tutorial says:

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

this doesn't work for me:

public class aching{
    class pixel{
        public char c;
        public int f;
    }
    public static void main(String[] args){
        aching a = new aching();
        aching.pixel[][] p = a.new pixel[1][1];
    }
}
+4  A: 

Just

pixel[][] p = new pixel[1][1];

It is when you need to create instance of pixel object, you'll have to write:

p[0][0] = a.new pixel();

Also, it is a good idea to follow common Java naming conventions, e.g. use upper case for class/type names.

Eugene Kuleshov
+1 for the detailed and complete answer )
Eran Harel
+1  A: 

Should be something like this:

public static void main(String[] args){
   pixel p[][] = new pixel[1][1];

}

Further, follow convention, your class names should start with a capital letter.

Mike