Java基础之static关键字和this关键字
静态的(静态的)
静是一个修饰符
static可以修饰:成员变量,成员方法,代码块
静态修饰成员变量
被静态修饰的成员变量是所有该类对象共享的变量,称之为**静态变量**或者**类变量**
可以使用**对象名。名变量**来进行访问,可以也。使用**类名。名变量**来进行访问,使用推荐**类名。名变量**来进行访问
没有静态修饰的成员变量,称之为**实例变量**,只能使用对象名。变量名来进行访问
静态修饰成员方法
被静态修饰的成员方法,称之为**类方法**或者**静态方法**
使用可以对象名方法名([参数,…]);进行访问,可以也。使用类名..方法名([参数,…]);进行访问,使用推荐类名..方法名([参数,…]);进行访问
没有静态修饰的成员方法,称之为**实例方法**
使用只能 **对象名方法名(\[参数,...\]);**进行访问
静态修饰代码块
被静态修饰的代码块,叫做**静态代码块**,一般用来做类的初始化工作
静态\{
钱= 10000;
\}
没有静态的修饰代码块叫做**实例代码块**,一般用来做对象的初始化工作,由于构造器也是在做对象的初始化工作,所以一般情况下不会用到实例代码块
注意:
静态方法,静态代码块,只能访问静态变量和静态方法
实例方法,实例代码块,既可以访问静态方法,静态变量,也可以访问实例方法,实例变量
为什么静态的只能访问静态的?而实例的既可以访问静态的,也可以访问实例的?
程序在运行时,JVM会先将类的类文件加载到内存中,同时加载的还有静态变量,静态方法,静态代码块(会被执行)
只有在创建对象时,才会加载实例变量,实例方法,实例代码块(会被执行)
整个程序运行过程中,静态代码块会执行几次?实例代码块会执行几次?
整个程序运行过程中,类文件只会被加载一次,静态代码块会执行最多一次
每创建一个对象就会执行一次实例代码块,所以创建了多个对象就会执行多少次实例代码块
this关键字
每一个类中都有一个特殊的成员变量,一个是this,一个是super
this,表示当前对象的引用
super 表示父类对象的引用
this关键字的作用
1,当成员变量与局部变量发生重名时,可以使用this.变量名 来表示成员变量
2,当本类中的构造器需要引用本类中其他的构造器时,可以使用this(\[参数值1,参数值2,...\]);来引用本类中的另一个构造器
注意:this(\[参数值1,参数值2,...\]);必须写在构造器方法体中的第一行
还没有评论,来说两句吧...