试题详情
简答题什么是多态?Java的编译时多态和运行时多态有什么区别?
  • J.ava中的多态就是指一个程序中同名的不同方法共存的情况。分为编译时多态和运行时多态两类。
    方法重载可以实现Java的编译时多态。它是在相同类内,定义名称相同,但参数个数或参数类型不同的方法。编译器会根据实参的个数和类型,确定调用哪个方法。所谓编译时多态,是指程序会根据参数的不同来调用相应的方法。具体调用哪个被重载的方法,是由编译器在编译阶段决定的。所以编译时多态也叫做静态多态性。
    方法覆盖可以实现Java的运行时多态。它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以改写父类方法的功能。运行时多态是一种在运行时,而不是在编译时调用覆盖方法的一种机制。对于覆盖的方法,Java运行时系统根据调用该方法的实例的类型,来决定选择哪个方法调用。
  • 关注下方微信公众号,在线模考后查看

热门试题