最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题
最新整理电子书
最新整理大厂面试文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
② 加载父类构造器自身内部代码
③ 加载子类非静态
④ 加载子类构造器自身内部代码
}
注:
1.静态属性属于类和所有对象,只在第一次加载类时被初始化一次,之后再加载类也不会进行初始化;静态代码块同理。
2.属性初始化和代码块优先级一样,按照代码书写的先后顺序执行。
(二)类加载时机
(1)用new创建实例对象时,如果是子类创建对象,则父类也会被加载
(2)使用静态成员时,通常为使用静态属性和静态方法
(三)测试代码
public class CodeBlockDetail04 {
public static void main(String[] args) {
new B02(); //创建对象
}
}
class A02 {
private static int n1 = getVal01();
static {
System.out.println(“A02的第一个静态代码块…”);
}
{
System.out.println(“A02的第一个普通代码块…”);
}
public int n2 = getVal02();
public static int getVal01(){
System.out.println(“getVal01()”);
return 10;
}
public int getVal02(){
System.out.println(“getVal02()”);
return 20;
}
public A02(){
System.out.println(“A02的构造器”);
}
}
class B02 extends A02 {
private static int n3 = getVal03();
static {
System.out.println(“B02的第一个静态代码块”);
}
{
System.out.println(“B02的第一个普通代码块”);
}
private int n4 = getVal04();
public static int getVal03(){
System.out.println(“getVal03()”);
return 30;
}
public int getVal04(){
System.out.println(“getVal04()”);
return 40;
}
public B02(){
线程、数据库、算法、JVM、分布式、微服务、框架、Spring相关知识
一线互联网P7面试集锦+各种大厂面试集锦
学习笔记以及面试真题解析
b22-1714842031387)]