Logic programs containing only at most one form of default negation have been studied in the literature. We describe a class of logic programs containing multiple forms of default negation. We define a meaning for these programs based on the well--founded semantics and the stable semantics. We investigate properties of the new combined semantics and calculate the computational complexity of determining the existence of models, and of skeptical and credulous reasoning. An effective procedure to construct the collection of models characterizing the semantics of a program is given. Applications to knowledge representation and knowledge base merging are presented.