package java_test; public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 public Hero(){ } public Hero(String name,float hp){ this.name = name; this.hp = hp; } //复活 public void revive(Hero h){ h=new Hero("提莫",383);//实际工作中并不会这么写 //h.hp=383; 写成这样 才是Ok的 更改成员属性hp的值 } public static void main(String[] args) { Hero teemo = new Hero("提莫",383); //受到400伤害,挂了 teemo.hp = teemo.hp - 400; teemo.revive(teemo);//外边的teemo和括号里的teemo都是那个已经死了的-17的提莫,但是里边那个作为参数在revive方法中指向了新的引用,但是是局部变量,只是个参数 System.out.println(teemo.hp); } }
程序运行结果:
-17