java继承和封装