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.将堆中开辟新空间的地址值赋给栈 中的变量



猜你喜欢

转载自blog.csdn.net/yuanboqi/article/details/79659236