嵌套类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类。”-从您的代码中看似乎不是这样。