變量有兩種類型根本類型和類類型
參數(shù)也是變量,所以傳參分為
根本類型傳參
類類型傳參
過程1:根本類型傳參
根本類型傳參
在辦法內(nèi),無法修改辦法外的根本類型參數(shù)
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目標(biāo)
過程3:類類型傳參
類類型又名引證
第24行的引證teemo與第17行的引證hero,是不同的引證
通過調(diào)用garen.attack(teemo,100);使得這兩個引證都指向了同一個目標(biāo)
所以在第18行hero.hp=hero.hp-damage;就使得該目標(biāo)的hp值,發(fā)生了變化
因而第25行,打印該目標(biāo)的Hp值便是變化后的值
類類型傳參
publicclassHero{
Stringname;//名字floathp;//血量floatarmor;//護甲intmoveSpeed;//移動速度publicHero(Stringname,floathp){this.name=name;this.hp=hp;
}//進(jìn)犯一個英豪,并讓他掉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);
}
}
練習(xí):傳參
(在辦法中,使參數(shù)引證指向一個新的目標(biāo)
外面的引證是指向原來的目標(biāo)?還是新的目標(biāo)?)
publicclassHero{
Stringname;//名字floathp;//血量floatarmor;//護甲intmoveSpeed;//移動速度publicHero(){
}publicHero(Stringname,floathp){this.name=name;this.hp=hp;
}//復(fù)活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);輸出多少?怎么理解?}
}
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長沙市天心區(qū)芙蓉中路三段398號新時空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運營網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號