多态、重写、重载。

多态:就是允许不同的类的对象对同一个消息做出不同的响应。根据发送对象的不同采用不同的行为方式。

比如演奏钢琴时调用play()函数后返回的消息是piano。

演奏手风琴时调用play()函数后返回的消息是accordion。

这就是多态。


重写是多态中的一个手段,子函数对父函数中public 非static 的 函数进行重写,除了内容代码不同,其他的都是一样,包括返回的类型等。详细见上一篇博客。


重载就是除了参数的个数或者参数的类型不同外,其他都相同的多个方法。

比如:

 public int play(){........};

public int play(int x,int y){................};

public int play(String x,int y){................};

以上的三个函数就是属于重载。

另外强调一点:只有返回类型不同不算是重载!只有返回类型不同不算是重载!只有返回类型不同不算是重载!!!

原因:有时候你不需要器返回值,如果你调用了类型不同的重载函数,那么编译器将不知道调用哪一个函数。

例子如下:

public int play(int x,int y){ return x+y;};//返回int型

public void play(int x,int y){ x=x+y; };//返回void型


在函数中只是调用,并没有赋值的话:

public static void main(String[] args){

int a=1;

int b=2;

play(a,b);//编译器不知道将调用哪一个函数了。

}


在main方法中不知道将要调用哪一个play()函数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值