Java基础 学习笔记24—this关键字

this关键字

  1. this是一个关键字
  2. this出现在实例方法中,代表当前对象。语法是:this.
  3. this本质上是一个引用,该引用保存当前对象的内存地址
  4. 通过this. 可以访问实例变量,可以调用实例方法
  5. this存储在:栈帧的局部变量表的第0个槽位上
  6. this.大部分情况下可以省略,用于区分局部变量和实例变量时不能省略
  7. this不能出现在静态方法中
  8. “this(实参)” 语法:
    - 只能出席拿在构造方法的第一行
    - 只能通过当前构造方法去调用本类中其他的构造方法
    - 作用是:代码复用

演示代码

Vip.java

package chapter3.oop11;

public class Vip {
    private String name;

    public Vip(String name) {
        this.name = name;
    }

    public Vip() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void shopping(){
        //this只是一个引用,保存了内存地址指向了当前对象
        System.out.println(this.name + "在购物");

        //this代表的是当前对象
        System.out.println(this);
        //思考:带有static的方法为什么不能使用this?
        //this代表的是当前对象,static方法中没有当前对象,
        // 所以static的方法中不能使用this

    }


    public static void test(){
        /* 编译报错  sttic方法中没有当前对象,不能使用this关键字
        System.out.println(this.name);
        this.shopping();
        System.out.println(name);
        shopping();
        */

        //这两个都可以
        Vip.test2();
        test2();

        Vip vip = new Vip();
        System.out.println(vip.name);
        vip.shopping();

    }


    public static void test2(){

    }


}

VipTest.java

package chapter3.oop11;

public class VipTest01 {
    public static void main(String[] args) {
        Vip momo = new Vip("漠漠");
        System.out.println(momo);
        momo.shopping();
        System.out.println("==============");

        Vip lisi = new Vip("李四");
        System.out.println(lisi);
        lisi.shopping();
    }
}

在这里插入图片描述

Test.java

package chapter3.oop11;

public class Test {
    //实例变量
    int age = 10;

    public static void main(String[] args) {
        /*System.out.println(this);
        System.out.println(age);
         */

        //调用main方法
        Test test = new Test();
        test.main("hello world");


    }

    public void main(String s){
        System.out.println(this);
        System.out.println(age);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值