java面对对象, 我只有两个输出语句,为何控制台出现四个,如何弄掉中间两个

只有两个输出语句
如何弄掉中间两个

你调用了两次speak,而每次输出了两次,所以输出了4次。
可以修改下,首先,全部的赋值都用b1,b2.xm="马教授";等修改为b1.xm="马教授";下面类似
其次,删除b2.speak();

调用2次speak 第一次输出第一句话 下面为空
第2次输入第2句话 上面为空
要么分开输出 要么分开定义

你的方法里是两条输出语句,然后你调用了两次方法,当然输出4条语句啊,

Speak()方法里吧第二条注释了不就完了么