在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

java中的静态代码块、构造代码块、构造方法详解

2016-8-29 13:23| 发布者: zhangjf| 查看: 624| 评论: 0

摘要: 运行下面这段代码,观察其结果: package com.test;public class HelloB extends HelloA { public HelloB() { } { System.out.println(I'm B class); } static { System.out.println(static B); } ...

运行下面这段代码,观察其结果:

  1. package com.test;
  2. public class HelloB extends HelloA {
  3. public HelloB() {
  4. }
  5. {
  6. System.out.println("I'm B class");
  7. }
  8. static {
  9. System.out.println("static B");
  10. }
  11. public static void main(String[] args) {
  12. new HelloB();
  13. }
  14. }
  15. class HelloA {
  16. public HelloA() {
  17. }
  18. {
  19. System.out.println("I'm A class");
  20. }
  21. static {
  22. System.out.println("static A");
  23. }
  24. }
复制代码

结果如下:

  1. static A
  2. static B
  3. I'm A class
  4. I'm B class
复制代码

解析:

1.静态代码块:是在类的加载过程的第三步初始化的时候进行的,主要目的是给类变量赋予初始值。

2.构造代码块:是独立的,必须依附载体才能运行,Java会把构造代码块放到每种构造方法的前面,用于实例化一些共有的实例变量,减少代码量。

3.构造方法:用于实例化变量。


总结:

1是类级别的,2、3是实例级别的,所以1要优先2、3.

它们的执行顺序是1>2>3;

以上这篇java中的静态代码块、构造代码块、构造方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持程序员之家。

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-7 03:05

Copyright 2015-2025 djqfx

返回顶部