staitc修饰成员变量:
static修饰的成员变量,称为静态成员变量。静态成员变量最大的特性:不属于某个具体的对象,是类的属性,是所有对象所共享的。
其它特性:
既可以通过对象访问,也可以通过类名访问,但一般推荐使用类名访问。被static修饰的类变量存储在方法区中
生命周期伴随类的一生,随类的加载而创建,随类的卸载而销毁。
public class Blog2 {public static String classRoom ="2102";public static void main(String[] args) {//直接通过类名来访问System.out.println(Blog2.classRoom);Blog2 blog =new Blog2();//也可以通过对象来访问System.out.println(blog.classRoom);}
}
static修饰成员方法
在Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。静态成员一般是通过静态方法来访问的。
静态方法的特性:
1.可以通过类名.静态方法名方式调用,也可以通过对象调用,更推荐前者
2.不能在静态方法中访问如何非静态成员变量
class MyUtils {//静态方法static int add(int a, int b) {return a + b;}
}public class Blog2 {public static void main(String[] args) {System.out.println(MyUtils.add(3, 5));}
静态方法中不能访问非静态成员变量
静态方法中不能调用任非静态方法,因为非静态方法中有this参数,而静态方法中无法传递this参数
static成员变量初始化
1.就地初始化
class Student{//就地初始化👇public static String classRoom ="102";}
2.静态代码块初始化。
class Student{//静态代码块初始化👇public static String classRoom ;static {classRoom ="102";}
}