callin33 发表于 2004-5-10 20:59

int k = prt("Beetle.k initialized");[问题]

class Insect {
int i = 9;
int j;
Insect() {
    prt("i = " + i + ", j = " + j);
    j = 39;
}
static int x1 =
    prt("static Insect.x1 initialized");
static int prt(String s) {
    System.out.println(s);
    return 47;
}
}

public class Beetle extends Insect {
int k = prt("Beetle.k initialized");
Beetle() {
    prt("k = " + k);
    prt("j = " + j);
}
static int x2 =
    prt("static Beetle.x2 initialized");
static int prt(String s) {
    System.out.println(s);
    return 63;
}
public static void main(String[] args) {
    prt("Beetle constructor");
    Beetle b = new Beetle();
}
}int k = prt("Beetle.k initialized");





上述程序中的int k = prt("Beetle.k initialized"); 是将方法的值赋给一个整数型变量k吗
,还是用k调用这个方法(好像调用方法用圆点)。 还有方法括号里的参数是不是起初始化的作用。基本概念混淆,不要见笑。
望 各位高手不吝赐教。先谢谢了。附 以上程序来自 "think in java"

daxia108 发表于 2004-5-11 18:10

括号里的参数实际上是一个字符串,不存在调用方法的问题,只是一个值而已。这个程序实际上是一个比较麻烦的构造方法(Konstruktur)的调用问题。下面的类继承上面的类,而上下类都有自己的构造方法,下面的类调用的是无参的构造方法,这个构造方法会默认先启动父类的构造方法,然后再运行自己的方法。如果你是初学者,不需要花时间去关心这个,以后慢慢就会搞清楚。关于构造方法可以看偶之前发的一个帖子。
页: [1]
查看完整版本: int k = prt("Beetle.k initialized");[问题]