介绍
这篇文章主要介绍了JAVA中方法重载概念——简单易懂,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
<强> 1,什么方法重载? 强>
方法的重载指的是方法名一样,但是参数类型不一样
<强> 1.1,攻击方法重载强>
有一种英雄,叫做物理攻击英雄ADHero,为ADHero提供三种方法。
公共空攻击() 公共空间攻击(h2)英雄 公共空间攻击(英雄h2,英雄h3)
方法名是一样的,但是参数类型不一样
在调用方法攻击的时候,会根据传递的参数类型以及数量,自动调用对应的方法
公共类ADHero延伸英雄{公共空攻击(){ system . out。println(名称+“;进行了一次攻击,但是不确定打中谁了“); } 公共空间攻击(英雄h2) { system . out。println(名字+“对”;+ h2.name +“进行了一次攻击“); } 公共空间攻击(h2英雄,英雄h3) { system . out。println(名字+“同时对“+ h2.name +“和“;+ h3.name +“进行了攻击“); } 公共静态void main (String [] args) { ADHero bh=new ADHero (); bh.name=吧徒鹆匀恕? 英雄h2=new英雄(); h2.name=案锹住? 英雄h3=new英雄(); h3.name=疤崮? bh.attack (h2); 黑洞。攻击(h2、h3); } }
<强> 1.2,可变数量的参数强>
如果要攻击更多的英雄,就需要设计更多的方法,这样类会显得很累赘,像这样:
公共空攻击(h2)英雄 公共空间攻击(英雄h2、h3英雄) 公共空间攻击(英雄h2、h3英雄,英雄3)
这时,可以采用可变数量的参数
只需要设计一个方法
公共空攻击(英雄…英雄)
即可代表上述所有的方法了
在方法里,使用操作数组的方式处理参数英雄即可
公共类ADHero延伸英雄{ 公共空间攻击(){ system . out。println(名称+“;进行了一次攻击,但是不确定打中谁了“); }//可变数量的参数 公共空间攻击(英雄…英雄){(int i=0;我& lt;heros.length;我+ +){ system . out。println(名称+“;攻击了“+英雄[我]. name); } } 公共静态void main (String [] args) { ADHero bh=new ADHero (); bh.name=吧徒鹆匀恕? 英雄h2=new英雄(); h2.name=案锹住? 英雄h3=new英雄(); h3.name=疤崮? bh.attack (h2); 黑洞。攻击(h2、h3); } }
练习:治疗
(设计一个类支持(辅助英雄)继承英雄,提供一个愈合(治疗)方法
对支持的治疗方法进行重载
()
愈合愈合(英雄h)//为指定的英雄加血
愈合(英雄h, int惠普)//为指定的英雄加了惠普的血)
答案
公共类支持扩展英雄{ 公共空间愈合(){ System.out.println(“对自己进行治疗“); } 公共空间愈合(英雄英雄){ System.out.println(“给英雄“;+ +“英雄;加血“); } 公共空间愈合(英雄英雄,int惠普){ System.out.println(“给英雄“;+ +“英雄;加了“+ hp +“点血“); } }
感谢你能够认真阅读完这篇文章,希望小编分享JAVA中方法重载概念——简单易懂内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!