classbowl{bowl(intmarker){System.out.println("bowl("+marker+")");}voidf1(intmarker){System.out.println("f1("+marker+")");}}classtable{staticbowlbow1=newbowl(1);table(){Sy...
class bowl {
bowl(int marker) {
System.out.println("bowl(" + marker + " )");
}
void f1(int marker) {
System.out.println("f1(" + marker + ")");
}
}
class table {
static bowl bow1 = new bowl(1);
table() {
System.out.println("table()");
bowl2.f1(1);
}
void f2(int marker) {
System.out.println("f2(" + marker + ")");
}
static bowl bowl2 = new bowl(2);
}
class cupboard {
bowl bowl3 = new bowl(3);
static bowl bowl4 = new bowl(4);
cupboard() {
System.out.println("cupboard()");
bowl4.f1(2);
}
void f3(int marker) {
System.out.println("f3(" + marker + ")");
}
static bowl bowl5 = new bowl(5);
}
public class CHy11 {
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();
table.f2(1);
cupboard.f3(1);
}
static table table = new table();
static cupboard cupboard = new cupboard();
}
输出是为什么是
bowl(1 )
bowl(2 )
table()
f1(1)
bowl(4 )
bowl(5 )
bowl(3 )
cupboard()
f1(2)
creating new cupboard in main
bowl(3 )
cupboard()
f1(2)
creating new cupboard() in main
bowl(3 )
cupboard()
f1(2)
f2(1)
f3(1)
静态方法是怎么调用的,为什么不先输出两个System.out.pringln中的语句,求细致的讲解 谢谢
展开