public class foo {
class bar{
public bar(String str) {
this("hello", str);
}
}
public foo(String a, String b) {
System.out.println(a+","+b);
}
}
有没有办法在bar中调用foo的构造函数?
答案 0 :(得分:1)
你的意思是:
public class foo {
private String var1;//<<----------
private String var2;//<<----------
class bar {
public bar(String str) {
foo f = new foo(str, str);//<<----call your constructor
}
}
public foo(String a, String b) {
System.out.println(a + "," + b);
//set values to your attribute
this.var1 = a;//<<------------set value 1
this.var2 = b;//<<------------set value 2
}
}
答案 1 :(得分:0)
只需这样做
foo obj = new foo("hello", "world");
答案 2 :(得分:0)
Link to the Java documentation
InnerClass的一个实例只能存在于一个实例中 OuterClass并且可以直接访问其方法和字段 封闭实例。
要实例化内部类,必须首先实例化外部 类。然后,使用它在外部对象中创建内部对象 语法:
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
foo的构造函数接受2个参数,因此您必须提供它们来创建其对象。 您还可以创建一个空构造函数,然后按以下方式使用它
//实例化外部类
foo outer = new foo();
//实例化内部类
foo.bar inner = outer.new bar(&#34; world&#34;);