JAVA调用不同包构造器问题

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:37:22
被调包:
package diaoYong;

public class apple {
private String str;
public String getStr() {
return str;}
public setStr(String str) {
this.str = str;
}
public test() {
System.out.println("无参的构造器");
}
public void test(String str) {
System.out.println("有参的构造器");
this.str = str;
}
}
主调包:
package gouzao;

import diaoYong.apple;

public class testApple {
public static void main(String[] args) {
apple a1 = new apple();
a1.setStr("给私有的成员变量赋值");
String s1 = a1.getStr();
System.out.println(s1);

apple a2 = new apple("调用的是一个有参的构造器");
String s2 = a2.getStr();
System.out.println(s2);
}
}
这个我改来改去总是有错,请高手帮忙看看
能不能解释的详细一点,我想听听道理
谢谢各位先~!
加 void 后,在调用时还是有错误啊
运行结果应该是:
无参的构造器
给私有的成员变量赋值
有参的构造器
调用的是一个有参数的构造器

public setStr(String str)
错误,加个void
public void setStr(String str)
表示无返回值,就OK了吧!!

apple改动后如下:
package diaoYong;

public class apple {
private String str;
public String getStr() {
return str;}
public void setStr(String str) {
this.str = str;
}
public apple() {
System.out.println("无参的构造器");
}
public apple(String str) {
System.out.println("有参的构造器");
this.str = str;
}
}

其余不用动。运行试试!