萌新学Java之面向对象多态

一个对象的实际类型是确定的,比如 new A()

可以指向的引用类型不确定

比如可以是 A a = new A();

也可以是 B b = new A();

子类能调用的方法都是自己的或是继承父类

父类可以指向子类,但是不能调用子类独有的方法(非要使用可以强制转换)

父类定义了一个方法,子类重写

在 main 方法里调用父类方法和子类方法

因为子类重写,所有即使从父类里调用,依旧执行子类重写的方法

多态:

1.多态是方法的多态,属性没有多态

2.父类和子类需要有联系,类型转换异常报 ClassCastException

3.多态的存在条件:

继承关系、子类重写父类方法、父类引用指向子类对象

例:Father f1 = new Son();

没有多态的情况:

1. static 方法,属于类,不属于实例

2. final 常量,通常写死

3. private 方法,没法重写即没有多态

多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式

instanceof:判断一个对象是什么类型,两个类是否存在父子关系

类型转换:

在子类里写方法,若在 main 方法里,父类引用指向子类对象,则无法直接调用子类方法,需强制转换

子类转换为父类,向上转型

父类转换成子类,向下转型:强制转换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值