Java

Java超详细透彻讲解static

小云
106
2023-08-11 12:55:14
栏目: 编程语言

static是Java中的一个关键字,表示静态的意思。它可以用来修饰类、方法和变量。

静态成员变量:被static修饰的成员变量,也称为类变量。它属于类本身而非实例,所有该类的实例共享同一个静态变量。可以通过类名来访问,也可以通过实例对象来访问。静态变量在类加载时被初始化,并且只会被初始化一次。静态变量在内存中的存储位置是在静态数据区。

静态方法:被static修饰的方法,也称为类方法。它属于类本身而非实例,可以通过类名来调用。静态方法可以直接访问类的静态变量,但不能直接访问类的非静态变量。静态方法可以在没有创建类的实例对象的情况下被调用。静态方法不能被子类重写,但可以被子类方法隐藏。

静态代码块:用static修饰的代码块,在类加载时执行。静态代码块在类加载时只会执行一次,并且只能访问类的静态变量和方法。静态代码块常用于进行一些静态变量的初始化操作。

静态内部类:被static修饰的内部类,称为静态内部类。静态内部类与普通内部类不同,它不能直接访问外部类的非静态成员,只能访问外部类的静态成员。

总结:

  1. static修饰的成员属于类本身,而非实例;

  2. 静态成员在类加载时被初始化,并且只会被初始化一次;

  3. 静态成员可以通过类名直接访问,也可以通过实例对象访问;

  4. 静态方法可以直接调用,而不需要创建类的实例对象;

  5. 静态方法不能直接访问非静态成员;

  6. 静态代码块在类加载时执行,只能访问静态成员;

  7. 静态内部类与普通内部类不同,不能直接访问外部类的非静态成员。

0
看了该问题的人还看了