title: Java—基础知识(七)—this和satic关键字
author: SpringForest
date: 2021/05/09
updated: 2021/05/09
categories: Java基础知识

this 关键字

  • 解决成员变量和成员变量所在类外的同名变量冲突的问题
class A
{
    private int a;                    
    public void into(int a)           
    {                                 
        this.a=a;	//第一个a为该类内部的成员变量,第二个a为类外局部变量                 
    }
}
  • 成员方法也可以相同的方式调用
class A
{
    private int a;                    
    public void into(int a)           
    {                                 
        this.a=a;	           
    }
	
	this.into();
}
  • this调用构造方法的注意事项
  1. 只能在构造方法中使用this调用其他的构造方法
  2. 使用this调用构造方法的语句必须是该方法的第一条语句且只出现一次
  3. 不能在一个类的两个构造方法中使用this互相调用

static(静态)关键字

当同一个对象被多次实例化之后,其内部的成员变量和成员方法也会在内存中出现多个,若只想让该成员出现一次,如同一所学校的所有学生信息中仅需一个“学校名称”变量,此时便可使用staric关键字

静态变量

[修饰符] static 变量类型变量名  //静态变量的创建

类名.变量名 					//静态变量的访问
实例对象名.变量名				//普通成员变量的访问

静态方法

[修饰符] static 返回值 方法名()	 //创建静态方法
{
	方法体
}

类名.方法名()					    //访问静态方法
实例对象名.方法名()
  • 注意:
    静态方法不需要创建对象(实例化对象)就能直接调用类名使用

静态代码块

当类被加载时(第一次运行程序),静态代码块会和类一起被加载,且因为类只会加载一次,所以静态代码块也只会加载一次。通常使用其来对类中的变量进行初始化。有别于构造方法,构造方法在每次实例化对象的时候都会运行,但是静态代码块在程序运行全程仅运行一次

static 
{
	代码块内容
}