0

Javaに基本クラスがあります。そのクラスでプライベートクラスを作成し、基本クラスのそのプライベートクラスのオブジェクトにアクセスしたいと思います。どうやってやるの?

前もって感謝します!

4

4 に答える 4

2

You can access an object of an inner class by creating it and remembering its reference. Just like an instance of any other class.

public enum Outer {;
    private static class Nested {
        private Nested() { }
    }

    public static Object getNested() {
        return new Nested();
    }
}

public class Main {
    public static void main(String... args)  {
        System.out.println("I have an "+ Outer.newNested());
    }
}

prints

I have an Outer$Nested@3f0ef90c

A good example is from Arrays. This creates an instance of a private nested class which implements a public interface which makes it useful.

public static <T> List<T> asList(T... a) {
return new ArrayList<T>(a);
}

/**
 * @serial include
 */
private static class ArrayList<E> extends AbstractList<E>
implements RandomAccess, java.io.Serializable
{
于 2012-08-31T08:41:46.820 に答える
2

これを意味しますか:

class Test {

    private Inner inner = new Inner();  

    private class Inner {
        public void foo() {}
    }

    // later somewhere
    public void bar() {
        inner.foo();
    }      
}
于 2012-08-31T08:42:08.653 に答える
0
PrivateClass c = new PrivateClass();
c.getSomeObject(); //??

上記のコードを基本クラスで使用できます。プライベートクラスが基本クラスの内部クラスである場合。

于 2012-08-31T08:40:59.363 に答える
0
class Test {

    private class Inner {
        public void foo() {
            System.out.println("vsahdashdashd");
        }
    }

    // later somewhere
    public void bar() {
        new Inner().foo();
    }      
}
class javaapplication9 extends Test
{
      public static void main(String[] args) {
        Test inner = new Test();  
        inner.bar();
      }
you can access private member from this type.
于 2012-08-31T08:57:23.827 に答える