类和对象系列教材 (六)- Java中的传参详解

变量有两种类型 基本类型 和类类型 


参数也是变量,所以传参分为 
基本类型传参 
类类型传参 步骤1:基本类型传参
步骤2:引用与=
步骤3:类类型传参
步骤4:练习-传参
步骤5:答案-传参 步骤 1 : 基本类型传参 基本类型传参 
在方法内,无法修改方法外的基本类型参数
public class Hero {              String name; //姓名              float hp; //血量              float armor; //护甲              int moveSpeed; //移动速度           public Hero(){               }           //回血     public void huixue(int xp){         hp = hp + xp;         //回血完毕后,血瓶=0         xp=0;     }            public Hero(String name,float hp){         this.name = name;         this.hp = hp;     }       public static void main(String[] args) {         Hero teemo =  new Hero("提莫",383);         //血瓶,其值是100         int xueping = 100;                   //提莫通过这个血瓶回血                   teemo.huixue(xueping);                   System.out.println(xueping);               }        }
步骤 2 : 引用与= 如果一个变量是基本类型
比如 int hp = 50;
我们就直接管hp叫变量
=表示赋值的意思。
如果一个变量是类类型
比如 Hero h = new Hero();
我们就管h叫做引用。
=不再是赋值的意思
=表示指向的意思
比如 Hero h = new Hero();
这句话的意思是
引用h,指向一个Hero对象 步骤 3 : 类类型传参 类类型又叫引用 
第24行的引用 teemo与 第17行的引用hero,是不同的引用 
通过调用garen.attack(teemo, 100); 使得这两个引用都指向了同一个对象 
所以在第18行hero.hp = hero.hp - damage; 就使得该对象的hp值,发生了变化 
因此第25行,打印该对象的Hp值就是变化后的值
类和对象系列教材 (六)- Java中的传参详解
public class Hero {       String name; // 姓名       float hp; // 血量       float armor; // 护甲       int moveSpeed; // 移动速度       public Hero(String name, float hp) {         this.name = name;         this.hp = hp;     }       // 攻击一个英雄,并让他掉damage点血     public void attack(Hero hero, int damage) {         hero.hp = hero.hp - damage;     }       public static void main(String[] args) {         Hero teemo = new Hero("提莫"383);         Hero garen = new Hero("盖伦"616);         garen.attack(teemo, 100);         System.out.println(teemo.hp);     }   }

更多内容,点击了解: https://how2j.cn/k/class-object/class-object-parameter/293.html
上一篇:spring笔记-IOC生成实例-001


下一篇:吴裕雄--天生自然数据结构:广义表的存储结构