嵌套类java

嵌套类java,java,nested-class,Java,Nested Class,我有以下代码: public class A { private class B { public String a = ""; public B(String a) { System.out.println("hello"); this.a = a; } } public A() { System.out.println("bla")

我有以下代码:

public class A
{
    private class B
    {
        public String a = "";
        public B(String a)
        {
          System.out.println("hello");
          this.a = a;
        }
    }

    public A()
    {
        System.out.println("bla");
        B b = new B("what's up?");
        System.out.println("world");
    }

    public static void main(String[] args)
    {
       new A();
    }
}
出于某种原因,只打印“bla”,其他打印不打印。 我使用动态类加载和调用main函数用jni加载这个类文件


我做错了什么?

好了,这段代码有效:

public class A
{
    static class B
    {
        public String a = "";
        public B(String a)
        {
          System.out.println("hello");
          this.a = a;
        }
    }

    public A()
    {
        System.out.println("bla");
        B b = new B("what's up?");
        System.out.println("world");
    }

    public static void main(String[] args)
    {
       new A();
       A.B myAB = new A.B("hello");
    }
}
输出:

bla
hello
world
hello
如果要在类别B中打印实际字符串“a”,请更改
public string a=“”
系统输出打印项次(a)在这种情况下,您将获得

bla
what's up?
world
hello
既然
“怎么了?”
被传给
B类


查看Javadocs中的嵌套类,我认为这将对您有很大帮助:
http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html

如果没有main(),我很惊讶会打印任何内容;-)在哪里调用对象b?只要调用
someFunc()
,工作正常。。。还有什么你没有告诉我们的吗?创建一个例子来说明我们可以自己解决的问题。90%的情况下,您会自己发现问题,而不是向我们展示一些我们无能为力的东西。“我正在使用动态类加载jni加载A类。”-从您的代码中看似乎不是这样。