多态的初步理解

(1)概念

多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。继承使得子类可以继承父类的特征。多态意味着父类可以应用子类的对象。

(2)特点

1.前提:是继承,有方法重写。

2.父类引用指向子类对象。

3.多态中需要将子类对象的引用赋给父类对象,使得子类引用能够调用父类和子类的方法。

(3)优点

1.多态可以让我们不用关心某个对象到底具体是什么类型,就可以使用该对象的某些方法

2.提高了程序的可扩展性和可维护性

(4)使用

前提:多态对象把自己视作父类;

1.成员变量: 使用的是父类的

2.成员方法: 由于存在重写现象,所以使用的是子类的

3.静态成员: 随着类的加载而加载,谁调用就返回谁的

(5)样例代码

package duotai;

/*创建父类*/

class shn{

public void playgame(){

 System.out.println("play lol?");

}

}



/*创建子类1*/

class xbl extends shn{

public void playgame(){

 System.out.println("play yaunshen?");

}



}

/*创建子类2*/

class jzc extends shn{

public void playgame(){

 System.out.println("play 4399?");

}

}

public class example {





public static void main(String[] args) {

shn a = new shn();

xbl b = new xbl();

jzc c = new jzc();



a.playgame();

b.playgame();

c.playgame();



shn d = new xbl();

shn e = new jzc();



d.playgame();/*父类shn使用子类xbl的方法*/

e.playgame();/*父类shn使用子类jzc的方法*/



}

}

(6)转型

A.向上转型:

这可以减少重复代码,使代码变得简介,提高系统拓展性。

在引用时,子类的单独定义方法会丢失;

定义时:父类 变量名 = new 子类();

B.向下转型:

子类引用不能指向父类对象,变量名 子类 = new 父类();(这是不行的,会报错)。

通常先向上后向下,这是就不会报错;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值