热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

变量有两种类型基本类型和类类型 参数也是变量,所以传参分为 基本类型传参 类类型传参步骤1:基本类型传参步骤2:引用与步骤3:类类型传参步骤4:练习-传参步骤5:答案-传参步骤 1

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



参数也是变量,所以传参分为 
基本类型传参 
类类型传参
步骤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

推荐阅读
author-avatar
妩媚天天想我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有