当子类继承父类,其子类和父类中静态代码块,构造代码块,无参构造之间的输出顺序
来源:互联网 发布:mac n卡 hdmi音频输出 编辑:程序博客网 时间:2024/06/11 16:51
今天无意中看到了这道“坑”的题目,说实话,如果对静态代码块,普通代码块和无参构造它们概念不理解的话,这确实,考试出了这样的题目,那这就真的是老师眼中的送分题,我们眼里的送命题,纯靠猜,废话不多说,先上代码才是真的
package text;class TextA{TextA() {System.out.println("我是父类无参构造函数");}{System.out.println("我是父类构造代码块");}static{System.out.println("我是父类静态代码块");}}public class TextB extends TextA{public TextB() {System.out.println("我是子类无参构造函数");}{System.out.println("我是子类构造代码块");}static{System.out.println("我是子类静态代码块");}public static void main(String[] args) {//测试TextB textB = new TextB();}}
输出结果如下:
无参构造:在没有写有参构造的时候,创建对象时,系统默认就会调用无参构造,用于初始化,只被执行一次,是随着对象的加载而加载,由于TextB继承了TextA,其实在TextB中的无参构造调用之前,先用了super()方法,调用了父类的无参构造,毕竟是先有爸爸才有儿子嘛
构造代码块:位于类体中,特点:给对象进行初始化的,执行时机在构造函数前,对象一建立就会立即执行
静态代码块:位于类体中,被static修饰的内容随着类的加载而加载,静态代码块的执行时机在main函数之前,只会被执行一次
可能讲的不是很清楚,还要多练习才行
阅读全文
1 0
- 当子类继承父类,其子类和父类中静态代码块,构造代码块,无参构造之间的输出顺序
- Java子类继承父类,静态代码块、普通代码块、构造代码块的执行顺序
- 父类子类构造方法、静态代码块、非静态代码块的执行顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- 父类与子类的静态代码块、代码块、构造方法执行顺序
- 父类和子类静态代码块、非静态代码块、构造函数(方法)执行的先后顺序问题
- 继承中,父类与子类都有静态代码块和构造函数的时执行顺序
- java子类父类静态代码块 构造代码块 构造函数执行顺序
- 子类,父类静态代码块,构造代码块,以及构造函数执行顺序
- java 继承时子类父类的静态非静态成员变量,构造方法,静态代码块的初始化顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- Java类中子类和基类的构造代码块,静态代码块、子类构造函数,基类构造函数的执行顺序
- 当子类继承父类时,构造块,静态块,静态方法的执行顺序
- 探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- Python 里边yield和全局变量global的用法
- Debug日志:C++读取任意磁盘、任意路径下的文件
- HDU 6095 思维题
- 利用USB RUBBER DUCKY(USB 橡皮鸭)在目标机器上启动Empire或Meterpreter会话
- QT
- 当子类继承父类,其子类和父类中静态代码块,构造代码块,无参构造之间的输出顺序
- 自定义Behavior
- Fragment的创建(二)
- POJ
- 常用的逻辑运算及其指令
- C++异常(二)
- Git学习
- ssm框架整合所需的jar
- Git学习笔记二(版本回退、工作区和暂存区、撤销修改、删除文件)