A、物体做匀速直线运动,只能说明物体所受合外力为0,不能确定是否满足机械能守恒条件,若人在电梯中匀速上升或下降,则机械能不守恒,故A错误;B、若物体在水平面内做匀速圆周运动,此时拉力不做功,则此时机械能守恒,故B正确;C、若物体在竖直方向内做匀速直线运动,则一定有重力之外的其他力做功,故机械能不守恒; 故C错误;D、物体在只有重力或弹力做功的情况下,动能和势能相互转化但总量保持不变,机械能守恒,故D正确;故选:BD