你的Demo类中主函数写错了,mian(String[] args)中String后是[],不是{},
我给你修改后运行结果是B、C、5.。这是Java的多态模式,父类声明子类,new Demo("A")在虚拟机初始化时
会先调用父类的Super()构造方法,所以会先打印出B,接着是子类Demo的初始化,因为含有参数A,所以会使用第二个初始化方法,打印出C,接着d.i对调用子类的字段内容,子类中i=5,所以最终的结果为:B、C、5.
主要考察的是,Java的多态机制,以及Java初始化时构造方法的调用,你可以好好看看毕老师这方面的视频,讲的很细致,加油。 |