Three ways of constructing a non-Hermitian matrix with possible all real eigenvalues are discussed. They are PT symmetry, pseudo-Hermiticity, and generalized PT symmetry. Parameter counting is provided for each class. All three classes of matrices have more real parameters than a Hermitian matrix with the same dimension. The generalized PT-symmetric matrices are most general among the three. All self-adjoint matrices process a generalized PT symmetry. For a given matrix, it can be both PT-symmetric and P-pseudo-Hermitian with respect to some P operators. The relation between corresponding P and P operators is established. The Jordan block structures of each class are discussed. Explicit examples in 2x2 are shown.