下载此文档

JAVA面试题解惑系列1.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
JAVA 面试题解惑系列(一) ——类的初始化顺序文章分类:Java 编程大家在去参加面试的时候, 经常会遇到这样的考题: 给你两个类的代码, 它们之间是继承的关系, 每个类里只有构造器方法和一些变量, 构造器里可能还有一段代码对变量值进行了某种运算, 另外还有一些将变量值输出到控制台的代码, 然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。我们大家都知道, 对于静态变量、静态初始化块、变量、初始化块、构造器, 它们的初始化顺序以此是静态变量> 静态初始化块> 变量> 初始化块> 构造器。我们也可以通过下面的测试代码来验证这一点: Java 代码 public class InitialOrderTest { // 静态变量 public static String staticField =" 静态变量"; // 变量 public String field =" 变量"; // 静态初始化块 static { (staticField); (" 静态初始化块"); } // 初始化块{ (field); (" 初始化块"); } // 构造器 public InitialOrderTest() { (" 构造器"); } public static void main(String[] args) { new InitialOrderTest(); }} public class InitialOrderTest { // 静态变量 public static String staticField =" 静态变量"; // 变量 public String field =" 变量"; // 静态初始化块 static { (staticField); (" 静态初始化块"); } // 初始化块{ (field); (" 初始化块"); } // 构造器 public InitialOrderTest() { (" 构造器"); } public static void main(String[] args) { new InitialOrderTest(); }} 运行以上代码,我们会得到如下的输出结果: 静态变量静态初始化块变量初始化块构造器这与上文中说的完全符合。那么对于继承情况下又会怎样呢?我们仍然以一段测试代码来获取最终结果: Java 代码 class Parent { // 静态变量 public static String p_StaticField =" 父类-- 静态变量"; // 变量 public String p_Field =" 父类-- 变量"; // 静态初始化块 static { (p_StaticField); (" 父类-- 静态初始化块"); } /

JAVA面试题解惑系列1 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yixingmaoj
  • 文件大小0 KB
  • 时间2016-07-14
最近更新