1.一个类中static修饰的变量(静态成员变量)在类被实例化出现多个对象时,这个static修饰的变量是被共用的,也就是即使拥有多个对象的存储空间,这个被static修饰的变量的存储空间只有一个。因此,当某一个对象对该变量重新赋值以后所有对象里的该变量值都会改变,而且该变量的值遵循最后一次改变。
静态成员的访问方式有两种:1、通过变量名.静态成员 2、类名.静态成员
2.static可以修饰变量和方法,使其成为类成员,通过类名.的方式访问。static不可以用来修饰类名,也不可以用来修饰成员方法内的局部变量。
在成员方法中,可以直接访问静态的类成员。
静态方法中不能直接调用同一个类中的非静态成员,只能调用同一个类中静态成员(见下图)。静态方法中不能使用this。
3.普通代码块&构造代码块&静态代码块
放在类的成员方法中的一对{}中的内容称为普通代码块,它的执行顺序是按顺序执行
直接放在类中的一对{}中的内容称为构造代码块,它会在构造函数之前执行
当在构造代码块前面加上static关键字时,构造代码块升级成为静态代码块,在构造代码块之前执行
当实例化多个对象时,构造代码块和构造函数一样被执行多次,而静态代码块只被执行一次
4.
在同一方法中的不同代码块中可以定义同名变量,这是由于在各自代码块中定义的变量生命周期仅限于代码块中。因此在中间的输出语句中输出temp时会报错。
而当我们在第二个代码块前面重新定义一个temp时,后面代码块中定义temp的语句又会报错。
Java学习日记DAY24
最新推荐文章于 2024-07-23 19:43:50 发布