java多态的优势