一个静态方法能够将另一个静态方法作为参数吗?该怎么处理
一个静态方法能够将另一个静态方法作为参数吗?我在http://book.douban.com/subject/19952400/这本书里看到
一个静态方法能够将另一个静态方法作为参数吗?
我在http://book.douban.com/subject/19952400/这本书里看到说不行
但是
public class Test1 {
public static void main(String[] args) {
A.abc(A.xyz());
}
}
class A{
public static void abc(int x){
System.out.println(x);
}
public static int xyz(){
return 1;
}
}
以上代码可以编译运行
书上是错的吗?
[解决办法]那是因为,xyz返回了一个int型,这个值作为abc的入参的。
LZ可以试试,将xyz返回类型改成String什么的,就会报错了。
[解决办法]没错, A.abc(A.xyz());相当于 int x = A.xyz();A.abc(x);
[解决办法]这个没问题,可以运行的。其实静态方法和类的关系不大,你这其实等于在面向过程编程中一个函数调了另一个函数而已
[解决办法]对啊,这两者没有直接的冲突的
[解决办法]http://baike.baidu.com/view/1289389.htm