浅谈Java多态

众所周知:多态和封装、继承相继被称为面向对象编程语言的三大特性

对于多态,我们可以简单理解,譬如一个具体实例李四,他既是一名学生,也是一个人,而学生和人便是李四的两种形态。在java中,我们同样也需要用多种形态描述一个事物,因此便出现的了多态。 如果我们进一步深入探讨李四的两种形态,我们便可以发现李四的两种身份“学生”和“人”是一种“父子”关系,学生也是人的一种。而多态也是如此,多态的前提便是两者必须有父子类关系,即 class son extends father     体现为父类引用变量可以指向子类对象。

实现多态的必要条件们:

1.父子类:

我们只是通过一个父类就能够引用不同的子类,这就是多态

class son1 extends father

class son2 extends father

class son3 extends father

2.重写

子类需要重写父类方法

class father{

        public void father(){

                System.out.println("father");

        }

}

class son1 extends father{

        public void father(){

                System.out.println("son1");

        }

}

class son2 extends father{

        public void father(){

                System.out.println("son2");

        }

}

class son3 extends father{

        public void father(){

                System.out.println("son3");

        }

}

3.向上转型

我们知道,要创建son类,直接实例化son类即可,非常好理解,如:

son s1 = new son();

 但是我们改成向上转型写法呢?

father s1 = new son();

上述两行中,我们定义了一个father类型的s1,但它指向的是son对象实例,由于son是继承于father,所以son可以自动向上转型为father,所以s1是可以指向son实例对象的。

多态的优点

1.可替换性:多态对于已经存在的代码具有可替换性,例如:多态对圆circle类工作,对其他任何圆形几何体也同样工作

2.灵活性:它再应用中体现了灵活多样的操作,提高了使用效率

3.可扩充性:多态对代码有可扩充性,增加新的子类不影响已经存在类的多态性、继承性以及其它特性

以上就是我初学多态以及对于多态的一些个人浅薄理解,如有错误还请指教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值