对Java基础知识面试问题总结
1、Java中static关键字作用
(1)static 变量
a) 静态变量在类初次加载的时候,会被加载到方法区;
b) 静态变量在方法区被赋为默认值;
c) 静态变量先于对象出现,一般通过类调用;
d) 静态变量被类的所有对象共享;
e) 静态变量只能定义在类中,不能定义在其他代码块。
(2)static 方法
a) 在类加载的时候,被加载到方法区;
b) 在方法被调用的时候,到栈内存中执行;
c) 静态方法先于对象出现;
d) 静态方法不能直接调用类中的非静态成员;
e) 静态方法可以被继承,但不能被重写;
(3)static 代码块
a) 被static{}定义的代码块;
b) 只在类初次初始化的时候执行1次;
c) 执行顺序为:父类static{} – 子类static{} – 父类构造函数 – 子类构造函数