1. 父类静态成员变量和静态代码块 (java虚拟机加载类时,就会执行该块代码,故只执行一次) 2.子类静态成员变量和静态代码块 (java虚拟机加载类时,就会执行该块代码,故只执行一次) 3. 父类普通成员变量 4. 父类普通代码块(每次new,每次执行 ) 5. 父类构造函数(每次new,每次执 ...
分类:
编程语言 时间:
2018-08-10 19:45:14
阅读次数:
190
上面代码输出什么? 答案是 null 分析: 类的加载顺序。 (1) 父类静态代码块(包括静态初始化块,静态属性,但不包括静态方法) (2) 子类静态代码块(包括静态初始化块,静态属性,但不包括静态方法 ) (3) 父类非静态代码块( 包括非静态初始化块,非静态属性 ) (4) 父类构造函数 (5) ...
分类:
编程语言 时间:
2018-08-01 00:23:37
阅读次数:
174
4.1 基本概念 4.1.1 java 语言有点 4.1.2 Java 解释型语言 c/c++ 编译型语言 4.1.3 main方法 可以重名但类型等不能重复 4.1.5 static 初始化顺序 : 父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类 ...
分类:
编程语言 时间:
2018-07-15 12:06:34
阅读次数:
182
class B extends A ,然后A类也就是父类里面有静态代码块,普通代码块,静态方法,静态成员变量,普通成员变量,普通方法。子类也是这样,然后继承之后,关于程序打印输出的结果。涉及到Java类的各种成员的初始化顺序。经测试,得到如下结论:1.父类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。2.子类【静态成员】和【静态代码块】,按在代码中出现的顺序依次执行。3.父类的【普通
分类:
编程语言 时间:
2018-07-11 16:00:59
阅读次数:
164
# 复习: # class 类名(父类1, 父类2): # 静态属性 = '' # 静态属性,类属性 # # def __init__(self): # 初始化方法 # pass # # def func(self): # 动态属性,方法 # pass # 对象=类名() # 对象.方法名() # ...
分类:
其他好文 时间:
2018-07-07 13:52:43
阅读次数:
180
父类: 子类: 运行结果: 1.加载父类静态代码块 Demo4静态代码块执行了 2.加载子类静态代码块 Demo5静态代码块执行了 3.执行Demo5 ps = new Demo5(); a.先执行父类构造代码块 Demo4构造代码块执行了 b.在执行父类构造方法 Demo4构造方法执行了 c.执行 ...
分类:
其他好文 时间:
2018-07-04 19:33:41
阅读次数:
156
在开始本博客写作之前请大家看一道经典的java面试题 public class StaticTest{ 对于这个执行结果是不是有些让你大跌眼镜呢?那么现在本菜鸟就来分析分析:对于静态成员变量和静态代码块而言,初始化的顺序是按照出现顺序;当有父类静态代码块或者父类静态成员变量的时候,不管出现顺序如何, ...
分类:
编程语言 时间:
2018-07-03 18:14:15
阅读次数:
156
成员变量编译看左边(父类),运行看左边(父类)成员方法编译看左边(父类),运行看右边(子类)。动态绑定静态方法编译看左边(父类),运行看左边(父类)。(静态和类相关,算不上重写,所以,访问还是左边的)只有非静态的成员方法,编译看左边,运行看右边classDemo2_Polymorphic{publicstaticvoidmain(String[]args){/*Fatherf=newSon();/
分类:
其他好文 时间:
2018-06-22 21:00:56
阅读次数:
189
一个类中执行顺序: 静态变量静态代码块代码块构造方法 子类和父类执行顺序: 父类静态变量父类静态代码块子类静态变量子类静态代码块父类代码块父类构造方法子类代码块子类构造方法 直接看代码,一目了然。 ...
分类:
编程语言 时间:
2018-06-20 21:22:30
阅读次数:
200
一、结论: 1.实例构造函数与静态构造函数执行顺序 一、初始化顺序(依次是静态变量、静态构造函数、实例变量、实例构造函数) 二、初始化次数(静态的都只会初始化一次) 三、初始化时机(使用类引用任何静态成员之前对或者首次实例化类时会调用静态构造函数,通过静态构造函数初始化类级别的项,即静态字段。非静态 ...
分类:
其他好文 时间:
2018-06-05 15:32:49
阅读次数:
184