this、static关键字

一.this关键字

this表示当前对象的指针,指向当前对象,表示当前对象的引用

this存储位置:对象在new时会在堆中申请空间,this存储在该内存空间中,用来指代当前对象本身,可以理解为指向当前对象的首地址

用处:

  构造方法中:当构造方法中的参数名称跟类的成员变量名称一样的时候可以用this指代当前对象

  普通方法中:当多个普通方法之间需要调用的时候可以使用this进行调用,指的是当前对象的其他方法

  成员变量:当方法中参数名称与成员变量一致时,使用this.变量名称表示的是对象的值,而使用变量名称表示的是形参列表中的值

二.static关键字

static修饰成员变量的时候,表示静态成员变量或者类变量

  普通变量在使用的时候,必须通过对象名进行调用

  类变量或者静态变量可以使用对象名进行调用也可以使用类名进行调用

修饰方法的时候,表示静态方法或者叫类方法

  普通方法在使用的时候,必须要通过对象名进行调用

  类方法或者静态方法可以使用类名. (打点),也可以使用对象名

注意:

  1.静态变量在创建对象之前必须初始化,或者说在类被载入之前进行初始化

  2.静态变量被所有的对象共享,属于公共变量,对象和类都可以直接调用,但是推荐使用类来调用

  3.普通变量放在堆中,而静态变量放在方法区中静态区

  4.静态变量不能定义在静态方法中

  5.静态方法可以在非静态方法中进行调用,静态方法中不能直接调用非静态方法

  6.静态方法中不允许出现this调用和super调用

原文地址:https://www.cnblogs.com/lyc-code/p/12485405.html