学习日记:Java static关键字

static关键字

1.static修饰的变量和方法,可以直接通过类名.静态变量(或静态方法)直接访问。

2.静态方法内,不能直接调用非静态的方法或者非静态变量。

3.在非静态的方法内可以直接调用静态变量或者静态方法

 

 个人见解:

基础知识:

栈:存放局部变量

堆:存放new出来的对象

方法区:存放类的代码信息、static、常量池

造成这种现象的原因在与:类的信息最先被加载,此时static变量也已经被加载了,所以可以通过类名.来访问。但此时对象的方法和成员变量还未加载,所以静态方法中不能找到非静态方法或者非静态变量,因此在静态方法中不能访问非静态变量和非静态方法。之后加载对象后,由于之前已经加载过类,所以非静态方法就可以找到静态方法和静态变量进行访问。

猜你喜欢

转载自www.cnblogs.com/debinliu/p/9751459.html