Java-面向对象三大特性之多态

终于进入到了三大特性的最后一个:多态,对比之前两大特性(封装和继承)来说,理解多态的概念及使用相对来说难度要大一点,初学者需要多做练习加强理解。

一、多态的介绍

在java中多态可以体现在方法上,比如方法的重载,同名方法可以有不同的执行结果,同样,多态也可以体现在面向对象中,一个对象可以使用多个类型进行表示。

打个比方:学生和老师上班都需要打卡,但是两者的打卡是不一样的,这个时候就可以创建一个他们共同的类(用于打卡)并通过多态的概念来实现两者的不一样

 

二、面向对象的多态简单使用

子类对象的类型使用父类的类型
Father son = new Son();

简单案例:学生教师管理系统-注册功能
Human类:注册功能register
Student类:继承Human类并重写父类的register方法
Test类:

Human student = new Student();
student.register(); //子类和父类都有register方法,但是这里调用的是子类的register

public static void register(Human t){
System.out.print(t.name);
}

 

三、使用多态的口诀

编译看左边,运行看右边

解释:编译的时候看的是左边(父类),如果父类中没有该属性或者方法则会报错。
运行的时候看的是右边(子类),调用的方法和属性也是子类当中的
 

四、注意

1、在多态中,调用的静态方法是父类的,因为多态对象把自己看做是父类类型,直接使用父类中的静态资源。
 
2、多态的前提是:继承+父类方法的重写
3、父类引用指向子类的对象如:Animal a = new Cat();

五、推荐

本篇CSDN内容不太全面,大家可以移步到泡泡老师的CSDN,内容更加的详细:泡泡老师的csdn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值