static静态方法可以被继承吗?Student a= new Student(); new一个对象的过程发生了什么?
static静态变量被各个对象共享,有默认值,被静态修饰的东西先于对象存在。
static修饰的变量和方法都在静态方法区,在加载class文件的时候就加载了,而继承发生在堆中,static修饰的变量和方法与对象无关,所以调用的时候不需要通过对象去调用,直接通过类名.方法()或类名.变量去调用,所以只能说static方法是被引用,而不是继承。
一个对象的初始化过程: Student a= new Student();
1.加载class文件
2.验证class文件
3.在堆内存中开辟空间
4.对属性进行默认的初始化
5.对属性进行显示的初始化
6.代码快的初始化
7.构造器的初始化(构造方法)
8.将堆中开辟新空间的地址值赋给栈 中的变量