多态的简单理解

什么是多态?

多态:方法或对象具有多种形态,是OOP的第三大特征,是建立在封装继承基础之上,它指的是同一个方法在不同的对象上可以有不同的行为。多态性可以实现代码的灵活性和可扩展性,是面向对象编程中的一个强大的特性。

多态性的实现是依靠继承和方法重写(覆盖)。当一个子类继承自父类,并重写(覆盖)了父类的方法时,通过使用父类的引用指向子类的对象,可以在运行时根据对象的实际类型,来调用相应的方法。

简而言之,多态的概念可以归结为两点:

  1. 子类可以替换父类:子类对象可以直接赋值给父类引用,这是因为子类对象拥有与父类对象相同的属性和方法。

  2. 同一操作可以有不同的行为:通过父类引用指向子类对象,调用的方法取决于子类重写的方法。

多态具体体现

1.方法多态

(1)重载体现多态

(2)重写体现多态

2.对象多态

(1)对象的编译类型和运行类型可以不一致,编译类型在定义时,就确定,不能变化

(2)对象的运行类型是可以变化的,可以通过getClasss()来查看运行类型

(3)编译类型看=号的左边,运行类型看=号右边

3.具体体现

public class hhh {
    public static void main(String[] args) {
        AAA obj=new BBB();
        AAA b1=obj;
        System.out.println("obj的运行类型="+obj.getClass());///BBB
        obj=new CCC();//向上转型
        System.out.println("obj的运行类型="+obj.getClass());//CCC
        obj=b1;
        System.out.println("obj的运行类型="+obj.getClass());//BBB
    }
}
class AAA{

}
class BBB extends AAA{

}
class CCC extends BBB{

}

java的动态绑定机制是什么?

 运行时绑定也叫动态绑定,它是一种调用对象方法的机制。Java调用对象方法时,一般采用运行时绑定机制。

1.当调用对象方法时,该方法会和该对象的内存地址、运行类型绑定

2.当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用

总结

多态性的优点包括:

  1. 灵活性:通过多态性,我们可以编写灵活的代码,可以在运行时通过指向不同对象的相同父类引用,实现不同的行为。

  2. 可扩展性:通过继承和多态性,我们可以轻松地添加新的子类,并通过父类引用来访问这些子类对象的共同行为。

  3. 可维护性:多态性使得代码结构更清晰,更易于理解和维护。通过将共同行为定义在父类中,可以避免代码的重复和冗余。

总之,多态性是面向对象编程中的一种重要特性,它实现了代码的灵活性和可扩展性。通过将相同接口或抽象类作为父类引用,可以支持不同的子类对象具有不同的行为。这种能力使得我们能够更加高效地编写代码,并且使得代码更易于理解和维护。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值