白猫能够生出黑猫的原因主要是因为遗传。白猫的毛色并不意味着它没有黑色的基因,而是这些基因没有表达出来。在猫的遗传中,毛色的遗传是复杂的,涉及到多个基因的作用。白猫可能携带黑色的基因,但这些基因在白猫身上没有显现出来,因为白色基因覆盖了其他颜色的表达。
然而,当白猫与另一只猫交配时,其后代有可能继承到黑色基因并表达出来,从而生出黑猫。