黑马程序员技术交流社区

标题: 关于Java各部分的加载顺序 [打印本页]

作者: 秋色潇湘    时间: 2015-11-7 17:13
标题: 关于Java各部分的加载顺序
  1. class Show {
  2.         public Show(String s) {
  3.                 System.out.println("初始化:"+s);
  4.                 System.out.println("-------");
  5.         }
  6. }
  7. class Father {
  8.        
  9.        
  10.         static {
  11.                 Show s2 = new Show("父类静态代码块");
  12.         }
  13.         static Show s7 = new Show("父类静态成员变量");
  14.         {
  15.                 Show s4 = new Show("父类构造代码块");
  16.         }
  17.         Show s = new Show("父类成员变量");
  18.         public Father() {
  19.                 Show s5 = new Show("父类构造方法");
  20.         }
  21. }
  22. class Son extends Father {
  23.         static Show s7 = new Show("子类静态成员变量");
  24.         static {
  25.                 Show s1 = new Show("子类静态代码块");
  26.         }
  27.        
  28.         Show s = new Show("子类成员变量");
  29.         {
  30.                 Show s4 = new Show("子类构造代码块");
  31.         }
  32.         public Son() {
  33.                 Show s6 = new Show("子类构造方法");
  34.         }
  35. }
  36. public class InitializeOrderDemo {
  37.        
  38.         static {
  39.                 Show s3 = new Show("主类静态代码块");
  40.         }
  41.         static Show s1 = new Show("主类静态成员变量");
  42.         {
  43.                 Show s4 = new Show("主类构造代码块");  //不new主类不会访问
  44.         }
  45.         Show s2 = new Show("主类成员变量");                   //不new主类不会访问
  46.         public static void main(String[] args) {
  47.                 Son s = new Son();
  48.         }
  49. }
  50. //成员变量初始化和运行代码块的级别一样,看谁在前
  51. /*
  52. 初始化:主类静态成员变量
  53. -------
  54. 初始化:主类静态代码块
  55. -------
  56. 初始化:父类静态成员变量
  57. -------
  58. 初始化:父类静态代码块
  59. -------
  60. 初始化:子类静态成员变量
  61. -------
  62. 初始化:子类静态代码块
  63. -------
  64. 初始化:父类构造代码块
  65. -------
  66. 初始化:父类成员变量
  67. -------
  68. 初始化:父类构造方法
  69. -------
  70. 初始化:子类构造代码块
  71. -------
  72. 初始化:子类成员变量
  73. -------
  74. 初始化:子类构造方法
  75. -------
  76. 请按任意键继续. . .
  77. */
复制代码
怕明天考试没时间发帖了,加载顺序这章总结的小代码也发一下~  希望大家多多支持~  喜欢的话多顶,我还会继续写总结


作者: 秋色潇湘    时间: 2015-11-7 17:15
照例自坐沙发~   我顶顶顶~
作者: 秋色潇湘    时间: 2015-11-7 17:16
这个只是分析dos命令行下运行main方法,各部分的加载顺序,实际项目中的顺序可以类推分析
作者: zhou8351104    时间: 2015-11-7 17:26
明了  ~~~~~~~~~··
作者: ゞ神说    时间: 2015-11-7 18:38
学习学习
作者: shadowmmm    时间: 2015-11-7 18:39
组长棒棒哒
作者: LOVE毛豆豆    时间: 2015-11-7 21:15
涨姿势了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2