java父类,子类静态块和构造方法的执行顺序
2017-11-17 00:00
281 查看
一个面试笔试题中没什么什么卵用但经常出的题,父类,子类静态块和构造方法的执行顺序
执行结果:
父类静态块
子类静态块
父类构造方法
子类构造方法
---第二次new对象---
父类构造方法
子类构造方法
没用的字符串比较输出结果:
false
true
false
true
没用的int和integer比较
输出结果:
true
true
false
true
package com.gulf.test; public class Father { public Father(){ System.out.println("父类构造方法"); } static { System.out.println("父类静态块"); } }
package com.gulf.test; public class Son extends Father { public Son(){ System.out.println("子类构造方法"); } static{ System.out.println("子类静态块"); } public static void main(String[] args) { new Son(); System.out.println("---第二次new对象---"); new Son(); } }
执行结果:
父类静态块
子类静态块
父类构造方法
子类构造方法
---第二次new对象---
父类构造方法
子类构造方法
package com.gulf.test; public class StringTest { public static void main(String[] args) { String a = "123"; String b = new String("123"); String c = "12"+"3"; System.out.println(a==b); System.out.println(a==c); System.out.println(b==c); System.out.println(b.equals(a)); } }
没用的字符串比较输出结果:
false
true
false
true
package com.gulf.test; public class IntegerTest { public static void main(String[] args) { int i = 1; Integer j = 1; System.out.println(i == j); Integer m = 127; Integer n = 127; System.out.println(m == n); Integer k = 128; Integer h = 128; System.out.println(k == h); int x = 128; System.out.println(k == x); } }
没用的int和integer比较
输出结果:
true
true
false
true
相关文章推荐
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- java父类子类静态块、块、构造方法的执行顺序
- java父类子类中静态块非静态块构造方法的执行顺序和继承
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- Java子类继承父类,构造方法的执行顺序问题
- 子类继承父类中的static模块、构造方法执行顺序及java多态性
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- java中父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,构造方法等先后执行顺序
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- 子类与父类构造方法执行顺序
- java 构造方法 与 初始化默认值执行顺序
- 理解Java类中构造方法的执行顺序和变量初始化
- Java 成员变量 静态块 构造块 构造方法执行顺序测试
- java 静态块 非静态块 构造方法 执行顺序
- 学习总结:java面试方法重写详解,静态代码块和构造方法执行顺序问题
- java静态代码块和构造方法执行顺序
- java静态代码块和构造方法执行顺序