class Bowl{
Bowl(int marker){
System.out.println("Bowl("+marker+")");
}
void f(int marker){
System.out.println("f("+marker+")");
}
}
class Table{
//下面这行的Bowl你打错了打成了Bow1,static应该去掉
Bowl b1=new Bowl(1);
Table(){
System.out.println("Table()");
b2.f(1);
}
void f2(int marker){
System.out.println("f2("+marker+")");
}
Bowl b2=new Bowl(2);
}
class Cupboard{
Bowl b3=new Bowl(3);
static Bowl b4=new Bowl(4);
Cupboard(){
System.out.println("Cupboard()");
b4.f(2);
}
void f3(int marker){
System.out.println("f3("+marker+")");
}
static Bowl b5=new Bowl(5);
}
class TIJ04271{
public static void main(String[] args){
System.out.println("Creating new Cupboard() in main");
new Cupboard();
System.out.println("Creating new Cupboard() in main");
new Cupboard();
//以下两行的static去掉
//static Table t2=new Table();
//static Cupboard t3=new Cupboard();
Table t2=new Table();
Cupboard t3=new Cupboard();
//注意以下两行的位置
t2.f2(1);
t3.f3(1);
}
}
运行结果:
Creating new Cupboard() in main
Bowl(4)
Bowl(5)
Bowl(3)
Cupboard()
f(2)
Creating new Cupboard() in main
Bowl(3)
Cupboard()
f(2)
Bowl(2)
Bowl(1)
Table()
f(1)
Bowl(3)
Cupboard()
f(2)
f2(1)
f3(1)
Press any key to continue...
结论:
1,不要轻信书本
2,要仔细查找错误
3,写程序时更要仔细