上述代码编译后会产生2个类构造器和2个实例构造器
类构造器把类静态成员依次导入,实例构造器把实例成员依次导入并且放到原有构造器
代码之前):
导入后类似像下面这样:
Dog class Constructor ( new Cat() )
Dog instance Contructor( 输出 Dog+m)
Cat class Constructor( new Dog(1), 输出 Cat Middle Print, new Dog(3) )
Cat instance Constructor( new Dog(2), new Dog(4), 输出 Cat Create)
运行时
main开始前先调用Dog类构造器(其中要创建Cat(),故调用Cat实例构造器),所以输
出
Dog2
Dog4
Cat Create
然后运行Cat类构造器,输出
Dog1
Cat Middle Print
Dog3
然后再创建main中的new Cat(),输出:
Dog2
Dog4
Cat Create
类构造器把类静态成员依次导入,实例构造器把实例成员依次导入并且放到原有构造器
代码之前):
导入后类似像下面这样:
Dog class Constructor ( new Cat() )
Dog instance Contructor( 输出 Dog+m)
Cat class Constructor( new Dog(1), 输出 Cat Middle Print, new Dog(3) )
Cat instance Constructor( new Dog(2), new Dog(4), 输出 Cat Create)
运行时
main开始前先调用Dog类构造器(其中要创建Cat(),故调用Cat实例构造器),所以输
出
Dog2
Dog4
Cat Create
然后运行Cat类构造器,输出
Dog1
Cat Middle Print
Dog3
然后再创建main中的new Cat(),输出:
Dog2
Dog4
Cat Create
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货