概念
static关键字:
-
如果一个成员变量使用了 static关键字,那么这个变量不再属于对象自己,而是属于所在的类。多个对象共享同一份数据。
-
普通的成员方法必须要要new一个对象,才能通过对象来进行调用个;但是一旦使用 static修饰成员方法,那么这就成为了静态方法。静态方法不属于对象,而是属于类的,可以直接通过类名来调用。
-
静态不能直接访问非静态,原因:因为在内存中是先有的静态内容,然后才有的非静态内容。
-
静态方法中不能用this。
- 原因:this表示当前对象,通过谁调用的方法,谁就是挡墙对象。
-
static的内存图(来自自,侵删):
-
static另外一种用法:静态代码块
特点:1. 当第一次用到本类时,静态代码块执行唯一的一次,再次用到这个类就不会再进行执行。
2. 静态代码块内容总是优先与非静态的,比构造方法先执行。
3. 用途:同来一次性的对静态成员变量进行赋值。(比如:数据库jdbc设置基本的信息时)