方法的引用,请高手解答,谢谢
如题:
class A,class B,class C为三个不同的文件,首先在class B中声明class A,把“123”放入A的setPerID()方法中。问:在class C中如何调用class B的getPerID()方法(“得到答案123”)?
一下是我做的程序,我知道在class C中调用有问题,但不知道如何改,请高手解答,谢谢
class A{
...
public void setPerID(String sPerID) {
this.sPerID = sPerID;
}
public String getPerID() {
return sPerID;
}
}
class B{
A a=new A();
a.setPerID( "123 ");
}
class C{
A a=new A();
a.getPerID();
}
------解决方案--------------------楼上的做法是对的 确实可以达到题目的要求
但是我觉得在实际应用中,灵活性不是很好
可以这样
/** 方法一: 把属性声明为静态 **/
class A
{
private static String number = " ";
}
class B
{
public void setPerID() {
A.number = "123 ";
}
}
class C
{
public String getPerID() {
return A.number;
}
}
/** 方法二: 创建类A的引用 **/
class A
{
private String number = null;
public void setPerID(String str) {
number = str;
}
public String getPerID() {
return number;
}
}
class B
{
A a = null;
public void setA(A aa) {
a = aa;
}
public void setPerId(String str) {
a.setPerId(str);
}
}
class C
{
A a = null;
public void setA(A aa) {
a = aa;
}
public String getPerId() {
return a.getPerId();
}
}
其实可以把过程写得更加简单
class B
{
public void setPerId(A a, String s) {
a.setPerId(s);
}
}
class C
{
public String getPerId(A a) {
return a.getPerId();
}
}
或者在构造器里写参数A
class B
{
private A a;
public B(A aa) {
a = aa;
}
.........
}
class C
{
private A a;
public C(A aa) {
a = aa;
}
.......
}