类中的方法只有静态与非静态方法吗?

众所周知,一个类中除了可定义类的属性之外,还可以定义方法,而方法既可以定义为静态方法(类方法),又可定义为非静态方法(实例方法);除此之外,最容易让人忽略的就是其他方法了,也就是类的初始化代码块。其语法是只用“{}”扩起来的方法,用于初始化类的实例信息!

有面试题如下:

类中的方法只有静态与非静态方法吗?

 

运行结果如下:

类中的方法只有静态与非静态方法吗?

 

可以看得出,只有静态方法伴随了类的加载(被加载到方法区),而类中其他方法的执行则是伴随实例的创建并先于构造方法而执行!