java中static什么意思_Java中static的含义和用法
java中,static表示“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。
1.被static所修饰的变量或者方法会储存在数据共享区;
2.被static修饰后的成员变量只有一份!
3.当成员被static修饰之后,就多了一种访问方式,除了可以被对象调用之外,还可以直接
被类名调用,(类名.静态成员);
static的特点:
1、随着类的加载而被加载;
2、优先于对象存在;
3、被所有对象共享;
4、可以通过类名调用。
注意事项 !!!
静态方法只能访问静态的成员变量和静态的成员方法
局部变量不能被static修饰;
静态得方法中是不可以定义this、super关键字的,因为静态优先于对象存在,所以静态方法不可以出this;
静态变量和成员变量的区别(掌握)
* 静态变量也叫类变量 成员变量也叫对象变量
A:所属不同
* 静态变量属于类,所以也称为为类变量
* 成员变量属于对象,所以也称为实例变量(对象变量)
B:内存中位置不同
* 静态变量存储于方法区的静态区
* 成员变量存储于堆内存
C:内存出现时间不同
* 静态变量随着类的加载而加载,随着类的消失而消失
* 成员变量随着对象的创建而存在,随着对象的消失而消失
D:调用不同
* 静态变量可以通过类名调用,也可以通过对象调用
* 成员变量只能通过对象名调用
代码块
定义
-
在Java中,使用{}括起来的代码被称为代码块,根据位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。
-
局部代码块
-
在方法中出现;限定变量生命周期,及早释放,提高内存利用率
-
-
构造代码块
-
在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
-
-
静态代码块
-
在类中方法外出现,加了static修饰在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
-
-
看代码写结果(思考静态代码块,构造代码块,构造方法的执行顺序):
public class Student { static { System.out.println("Student 静态代码块"); } { System.out.println("Student 代码块"); } public Student() { System.out.println("Student 构造方法"); } } public class StudentTest { static { System.out.println("北大吴彦祖"); } public static void main(String[] args) { System.out.println("我是main方法"); Student s1 = new Student(); Student s2 = new Student(); } }
知道答案的小伙伴欢迎在评论区里面留言!