关于Java多态和重载

关于多态和重载

多态

  1. 什么是多态
    多态是同一个行为具有多个不同表现形式或形态的能力。
  2. 多态存在三个条件
    继承
    重写
    父类引用指向子类对象
  3. 体现
  • 父类类型的引用 指向 子类的对象
    Person p = new Teacher();

  • 该引用只能调用父类中定义的属性或方法

  • 如果子类中将父类的方法重写,那么调取方法后执行的结果是子类重写之后的那个结果
    如果父类与子类有同名的属性 执行父类的属性
    如果父类与子类有同名的方法 执行子类重写之后的方法

  • 若想要调用子类中独有的成员
    (强制类型转化) 造型 铸型(向上/向下转型)
    造型时(强制向下转型时) 可能出现一个运行时异常
    ClassCastException 造型 铸型 异常(不是同一个分支 不是继承关系)
    如果想要避免造型的异常 可以用instanceof关键字来进行判断
    对象 instanceof 类 (判断对象属不属于这个类 或者 这个类的子类)

重载

  1. 什么是重载
    如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载。 具体说明如下:

    方法名相同
    方法的参数类型,参数个不一样
    方法的返回类型可以不相同
    方法的修饰符可以不相同
    main 方法也可以被重载
    

区别
1.利用方法重载 ------ 静态加载
静态加载是编译时加载的

2.利用多态 ------动态加载
动态加载是运行时加载的
动态绑定带来的最大好处是使程序的可扩展性达到了最好

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值