zoukankan      html  css  js  c++  java
  • 类和对象系列教材 (六)- 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值就是变化后的值

    类类型传参

    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

  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/Lanht/p/12615572.html
Copyright © 2011-2022 走看看