Java--多态

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

2.一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

3.多态存在的条件

        1.有继承关系

        2.子类重写父类方法

        3.父类引用指向子类对象

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

5.由于多态需要被重写,因static,final,private都不可以被重写,所以皆不存在多态

6.图中定义了Person类(父类),Student类(子类),以及主程序栏Application

        Person类中定义了一个run方法,Student类中定义了一个重写Person类的run方法一个一个单独的eat方法

        1.主程序中new了三个实例对象,其中new的都是Student类型的,由于Person类为Student类的父类,可以指向子类,所以new Person类型的Student类,同理,Object为所有类的父类,也可new Object类型的new Student;

        2.当只调用时是s2.run时,输出的为run;但当调用是时s2.run和s1.run两个方法时,二者输出结果为son,son;这是因为Student子类重写了父类的run方法,因此仅会执行子类的输出结果为

        3.当调用的是是s1.eat时,会输出子类的eat,但当调用s2.eat时,系统会进行报错,这是因为eat方法仅存在于子类Student类中,父类Person无法进行调用,但可想如图中所谓进行强制类型转换为Student类即可进行调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值