志在指尖
用双手敲打未来

Java中的传参

变量有两种类型根本类型和类类型
参数也是变量,所以传参分为
根本类型传参
类类型传参
过程1:根本类型传参
根本类型传参
在办法内,无法修改办法外的根本类型参数Java
publicclassHero{
Stringname;//名字floathp;//血量floatarmor;//护甲intmoveSpeed;//移动速度publicHero(){
}//回血publicvoidhuixue(intxp){
hp=hp+xp;//回血完毕后,血瓶=0xp=0;
}publicHero(Stringname,floathp){this.name=name;this.hp=hp;
}publicstaticvoidmain(String[]args){
Heroteemo=newHero(“提莫”,383);//血瓶,其值是100intxueping=100;//提莫通过这个血瓶回血teemo.huixue(xueping);
System.out.println(xueping);
}
}
过程2:引证与=
假如一个变量是根本类型
比方inthp=50;
咱们就直接管hp叫变量
=表明赋值的意思。
假如一个变量是类类型
比方Heroh=newHero();
咱们就管h叫做引证。
=不再是赋值的意思
=表明指向的意思
比方Heroh=newHero();
这句话的意思是
引证h,指向一个Hero目标
过程3:类类型传参
类类型又名引证
第24行的引证teemo与第17行的引证hero,是不同的引证
通过调用garen.attack(teemo,100);使得这两个引证都指向了同一个目标
所以在第18行hero.hp=hero.hp-damage;就使得该目标的hp值,发生了变化
因而第25行,打印该目标的Hp值便是变化后的值
类类型传参
publicclassHero{
Stringname;//名字floathp;//血量floatarmor;//护甲intmoveSpeed;//移动速度publicHero(Stringname,floathp){this.name=name;this.hp=hp;
}//进犯一个英豪,并让他掉damage点血publicvoidattack(Herohero,intdamage){
hero.hp=hero.hp-damage;
}publicstaticvoidmain(String[]args){
Heroteemo=newHero(“提莫”,383);
Herogaren=newHero(“盖伦”,616);
garen.attack(teemo,100);
System.out.println(teemo.hp);
}
}
练习:传参
(在办法中,使参数引证指向一个新的目标
外面的引证是指向原来的目标?还是新的目标?)
publicclassHero{
Stringname;//名字floathp;//血量floatarmor;//护甲intmoveSpeed;//移动速度publicHero(){
}publicHero(Stringname,floathp){this.name=name;this.hp=hp;
}//复活publicvoidrevive(Heroh){
h=newHero(“提莫”,383);
}publicstaticvoidmain(String[]args){
Heroteemo=newHero(“提莫”,383);//受到400损伤,挂了teemo.hp=teemo.hp-400;
teemo.revive(teemo);//问题:System.out.println(teemo.hp);输出多少?怎么理解?}
}

未经允许不得转载:IT技术网站 » Java中的传参
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载