什么是多态?多态的运用场景有哪些?

什么是多态?

在Java中,一个对象往往有两种类型,一种是编译时类型,一种是运行时类型,如果一个对象这两个类型不相同时,就发生了所谓的多态

A o = new A();

(第一个A)A - 编译时类型, (第二个A)A - 运行时类型。

父类变量 = 子类的对象。

public class Test {
    public static void main(String[] args) {
        A o = new B();
        //编译时对象o体现的是A类型的特征
        //运行时对象o体现的是B类型的特征
        o.method();
    }

    private static class A{
        public void method(){
            System.out.println("父类的Method方法");
        }
    }

    private static class B extends A{
        @Override
        public void method() {
            System.out.println("子类重写的Method方法");
        }

        public void sleep(){
            System.out.println("睡觉的方法");
        }
    }
}

运行程序,控制台打印的是(子类重写的Method方法);

运用场景:

多态主要是在程序设计时,可以让程序保持很好的拓展性和灵活性。

比如,在Tomcat设计时,为了可以更好调用后续开发者创建的Servlet,就需要采用多态的方式来设计,通过反射的方式创建开发者的Servlet对象,然后再用HttpServlet父类接收对象,执行相应的方法(doPost、doGet),以此来执行相关的业务逻辑代码,这里就用到了多态,可以让几十年前设计的Tomcat,正确的调用到后面开发者创建的Servlet。

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值