Java代码块
1.BigInteger与BigDecimal类2.Java字符集3.枚举类4.Java比较器Comparable与Comparator5.Java中System类6.Java中Math类7.Java内部类8.Java关键字:this、super、final
9.Java代码块
10.Java中继承性、多态性11.Java接口12.子类对象实例化的全过程13.static关键字14.Java中的关键字transient15.double转String结果为指数问题16.Java注解17.日期时间API18.String字符串函数19.Excepton异常类20.IO流21.Java反射机制22.JDK与JRE区别23.Java位运算24.Java方法重载25.Java属性赋值的先后顺序与对象的实例化过程代码块
1. 代码块的作用:用来初始化类、对象 2. 代码块如果有修饰的话,只能使用static. 3. 分类:静态代码块 vs 非静态代码块
静态代码块:用static修饰的代码块
1.可以有输出语句 2.可以对类的属性、类的声明进行初始化操作 3.不可以对非静态的属性初始化,不可以调用非静态的属性和方法 4.若有多个静态的代码块,按照从上到下的顺序依次执行 5.静态代码块的执行要先于非静态代码块 6.静态代码块随着类的加载而加载,且只执行一次
非静态代码块:没有static修饰的代码块
1.可以有输出语句 2.可以对类的属性、类的声明进行初始化操作 3.除了调用非静态的结构外,还可以调用静态的变量和方法 4.如有多个非静态代码块,按照从上到下依次执行 5.每次创建对象,都会执行一次,且优先于构造器执行
代码块执行顺序:由父及子,静态先行。
类什么时候被加载?
1.创建对象实例时(new)
2.创建子类对象实例,父类也会被加载
3.使用类的静态成员时(静态属性、静态方法)
🌰:
public class A { public A() { System.out.println("constructor A"); } { System.out.println("class A codeBlock1"); } { System.out.println("class A codeBlock2"); } static { System.out.println("static 1 class A"); } static { System.out.println("static 2 class A"); } }
public class B extends A { public B() { System.out.println("constructor B"); } { System.out.println("class B codeBlock2"); } { System.out.println("class B codeBlock1"); } static { System.out.println("static 2 class B"); } static { System.out.println("static 1 class B"); } public static void main(String[] args) { B b = new B(); } }
本文来自博客园,作者:Lz_蚂蚱,转载请注明原文链接:https://www.cnblogs.com/leizia/p/18379458
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步