类对象 this

类对象 this

this 即代表当前对象

可以但应打印当前地址

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //打印内存中的虚拟地址
    public void show(){
        System.out.println("打印this看到的虚拟地址: "+this);
    }
    public static void main(String[] args){
        Hero garen = new Hero();
        garen.name = "盖伦";
        //直接打印对象,会希纳是该对象在内存中的虚拟地址
        //格式:Hero@c17164,每次执行,得到的地址不一定一样

        System.out.println("打印对象看到的虚拟地址: "+garen);
        //调用show,打印该对象的this
        garen.show();

        Hero teemo = new Hero();
        teemo.name = "提莫";
        System.out.println("打印对象看到的虚拟地址: "+teemo);
        teemo.show();
    }


}

this关键字访问对象的属性

通过this调用其他的构造方法

/**
 * 通过this调用其他的构造方法
 * 如果要在一个构造方法中,调用另一个构造方法,可以调用this()
 */
public class Hero{
    String name;//姓名
    float hp;//血量
    float armor;//护甲
    int moveSpeed;//移动速度
    //带一个参数的构造方法
    public Hero(String name){
        System.out.println("一个参数的构造方法");
        this.name = name;
    }
    //带两个参数的构造方法
    public Hero(String name,float hp){
        this(name);
        System.out.println("两个参数的构造方法");
        this.hp =hp;
    }
    public static void main(String[] args){
        Hero teemo = new Hero("提莫",383);

        System.out.println(teemo.name);
    }

}
结果:
一个参数的构造方法
两个参数的构造方法
提莫

练习题

/**
 * 需求:设计一个构造方法,但是参数名称不太一样
 * String name
 * float hp
 * float armor
 * int moveSpeed
 * 在构造方法中调用  ”public Hero(String name,float hp)“
 * */

public class Hero{
    String name;//姓名
    float hp;//血量
    float armor;//护甲
    int moveSpeed;//移动速度
    public Hero(){}
    //带有两个参数的构造方法
//    public Hero(String name,float hp,float armor,int moveSpeed){
//
//    }
    public Hero(String name,float hp){
        this.name = name;
        this.hp = hp;
    }
    public Hero(String name,float hp,float armor,int moveSped) {
        this(name,hp);
        this.armor = armor;
        this.moveSpeed = moveSpeed;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值