咱来聊聊java的多态机制?

java面像对象的三大原则,继承,封装,多态。其实前两者是为多态做准备的。多态才是java世界利用最多的也是最强有力的武器。在这里我不会详细的叙述原理,我只会根据我的经验一步一步来让大家了解这个多态。多态的意义就是不同的类对同一个行为做不同的反应。这个有啥好处呢?一定要细细深究啊,这个好处真的不是一点半点。比如大家经常重写子类的方法,目的是啥?无非就是为了让系统来执行这个方法的时候表现我们所要的样子。这里面有个关键词就是系统,是的,多态是我们与系统交互的最佳实践。做andorid的还是以andorid的知识举例吧。这里以适配器举例。我们在继承baseadpater的时候需要重写getCount,getView等方法,为啥呢?原因就是adpter接口这些方法都没有实现,都留给子类实现呢。这样当我们用listview,gridview来setadapter的时候,listview和gridview会自动调用这些方法来展现我们需要的内容。是的,没错,这些没有实现的方法恰恰是我们需要丰富的。那些不需要我们重写的方法基本上都是一些共性的东西。我们在写andorid程序的时候 ,其实有点类似一个建造房屋的过程。我们可以利用android系统为我们搭建的一些常用的部件或者方法来构建我们的APP,对于个性化东西我们则需要通过重写来实现。这是开发一个程序普通的步骤,但是恰恰这个步骤利用的知识就是多态。从这里我们可以看出,多态对java程序来说多么重要。很多架构利用多态完成了解耦,梳理了流程,提高了灵活性。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多态性是指在面向对象编程,一个对象可以以多种不同的方式呈现。在Java,最常见的多态发生在使用父类的引用来引用子类的对象。这意味着可以使用父类类型的引用来调用子类类型的方法。通过多态性,可以增强代码的灵活性和可扩展性。 在Java实现多态有两个关键点:继承和方法重写。首先,需要创建一个父类并定义一个抽象方法,这样可以确保子类需要实现该方法。然后,创建子类并重写父类的抽象方法,实现子类自己的逻辑。 举个例子,假设有一个抽象类Animal,其有一个抽象方法eat()。然后创建两个子类Dog和Cat,它们分别重写了eat()方法。在使用时,可以使用Animal类型的引用来引用Dog或Cat的对象,然后调用eat()方法。这样就实现了多态性。 代码示例的Test类展示了如何实现多态。首先,创建了一个Animal类型的引用an1,指向Dog的对象。然后调用了an1的eat()方法,它会调用Dog类重写的eat()方法。同样的,创建了一个Animal类型的引用an2,指向Cat的对象,然后调用了an2的eat()方法,它会调用Cat类重写的eat()方法。 总结来说,多态性是通过继承和方法重写实现的,它可以提高代码的灵活性和可扩展性。在Java多态性最常见的表现是使用父类的引用来引用子类的对象。这样可以根据实际情况调用子类的方法,实现不同的行为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java多态概念、实现原理详解](https://download.csdn.net/download/weixin_38672840/12782475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java多态的概念及简单实现](https://blog.csdn.net/weixin_47861286/article/details/125925026)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值