Java learn依旧 ——类和对象

传参:
变量有两种类型 基本类型 和类类型

参数也是变量,所以传参分为
基本类型传参
类类型传参

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);
         
    }
      
}

预计打印结果会是xueping=0;
但是:
在这里插入图片描述
如果一个变量是基本类型
比如 int hp = 50;
我们就直接管hp叫变量
=表示赋值的意思。
如果一个变量是类类型
比如 Hero h = new Hero();
我们就管h叫做引用。
=不再是赋值的意思
=表示指向的意思
比如 Hero h = new Hero();

这句话的意思是
引用h,指向一个Hero对象
这在最之前的引用部分 有过论述。

类类型传参

以下示例,通过调用garen.attack(teemo, 100); 使得这两个引用都指向了同一个对象

 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);
    }
 

也就是 引用teemo garen 都指向了同样一个对象
这里的 System.out.println(teemo.hp);
能够打印出逻辑上的正确数字 因为变量都在方法之内的不存在方法之外。
以下就是方法之外的变量不可改变:

 public void revive(Hero h){
        h = new Hero("提莫",383);
    }
 
    public static void main(String[] args) {
        Hero teemo =  new Hero("提莫",383);
        teemo.hp = teemo.hp - 400;
        teemo.revive(teemo);
         
        System.out.println(teemo.hp);

打印之后 数字为-17 并非383;

包的创建:
根据个人的需求进行类的分类也就是打包装进不同的包
这在做一个项目的时候 特别管用 工作也会提高效率。

值得注意的是:
在一个包中进行编译时 要想用到其他包的类 需要用到import 之后包名.类名

package le;
import property.Weapon;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值