Java基础之static关键字和this关键字

我会带着你远行 2022-05-15 02:50 347阅读 0赞

静态的(静态的)

  1. 静是一个修饰符
  2. static可以修饰:成员变量,成员方法,代码块

静态修饰成员变量

  1. 被静态修饰的成员变量是所有该类对象共享的变量,称之为**静态变量**或者**类变量**
  2. 可以使用**对象名。名变量**来进行访问,可以也。使用**类名。名变量**来进行访问,使用推荐**类名。名变量**来进行访问
  3. 没有静态修饰的成员变量,称之为**实例变量**,只能使用对象名。变量名来进行访问

静态修饰成员方法

  1. 被静态修饰的成员方法,称之为**类方法**或者**静态方法**

使用可以对象名方法名([参数,…]);进行访问,可以也。使用类名..方法名([参数,…]);进行访问,使用推荐类名..方法名([参数,…]);进行访问

  1. 没有静态修饰的成员方法,称之为**实例方法**
  2. 使用只能 **对象名方法名(\[参数,...\]);**进行访问

静态修饰代码块

  1. 被静态修饰的代码块,叫做**静态代码块**,一般用来做类的初始化工作
  2. 静态\{
  3. 钱= 10000;
  4. \}
  5. 没有静态的修饰代码块叫做**实例代码块**,一般用来做对象的初始化工作,由于构造器也是在做对象的初始化工作,所以一般情况下不会用到实例代码块

注意:

  1. 静态方法,静态代码块,只能访问静态变量和静态方法
  2. 实例方法,实例代码块,既可以访问静态方法,静态变量,也可以访问实例方法,实例变量

为什么静态的只能访问静态的?而实例的既可以访问静态的,也可以访问实例的?

  1. 程序在运行时,JVM会先将类的类文件加载到内存中,同时加载的还有静态变量,静态方法,静态代码块(会被执行)
  2. 只有在创建对象时,才会加载实例变量,实例方法,实例代码块(会被执行)

整个程序运行过程中,静态代码块会执行几次?实例代码块会执行几次?

  1. 整个程序运行过程中,类文件只会被加载一次,静态代码块会执行最多一次
  2. 每创建一个对象就会执行一次实例代码块,所以创建了多个对象就会执行多少次实例代码块

this关键字

  1. 每一个类中都有一个特殊的成员变量,一个是this,一个是super
  2. this,表示当前对象的引用
  3. super 表示父类对象的引用

this关键字的作用

  1. 1,当成员变量与局部变量发生重名时,可以使用this.变量名 来表示成员变量
  2. 2,当本类中的构造器需要引用本类中其他的构造器时,可以使用this(\[参数值1,参数值2,...\]);来引用本类中的另一个构造器
  3. 注意:this(\[参数值1,参数值2,...\]);必须写在构造器方法体中的第一行

发表评论

表情:
评论列表 (有 0 条评论,347人围观)

还没有评论,来说两句吧...

相关阅读