Java变量方法初始化顺序
2014-05-08 17:58
155 查看
面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,
构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的
结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。
我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是
(静态变量、静态初始化块)>(变量、初始化块)>构造器。
我们也可以通过下面的测试代码来验证这一点:
父类--静态变量 父类--静态初始化块 子类--静态变量 子类--静态初始化块 父类--变量 父类--初始化块 父类--构造器 子类--变量
* 子类--初始化块 子类--构造器
构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的
结果。这实际上是在考查我们对于继承情况下类的初始化顺序的了解。
我们大家都知道,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序以此是
(静态变量、静态初始化块)>(变量、初始化块)>构造器。
我们也可以通过下面的测试代码来验证这一点:
父类--静态变量 父类--静态初始化块 子类--静态变量 子类--静态初始化块 父类--变量 父类--初始化块 父类--构造器 子类--变量
* 子类--初始化块 子类--构造器
相关文章推荐
- Eclipse上GIT插件EGIT使用手册之八_解决推送冲突
- javac在cmd中运行javac 不是内部或外部命令
- 【求助】Eclipse和go怎么没有自动联想
- Java获取前天和后天的时间
- Java线程:线程状态的转换
- Java 多线程之锁定
- Java中的Enum的使用与分析
- Eclipse上GIT插件EGIT使用手册之六_远程GIT仓库
- Ubuntu上改变openjdk版本
- Eclipse上GIT插件EGIT使用手册之五_查看历史记录
- Eclipse上GIT插件EGIT使用手册之四_配置.gitignore
- Eclipse上GIT插件EGIT使用手册之三_新建GIT仓库
- eclipse连接hive所需包
- 一开立刻死(Exlipse),Myeclipse卡,慢优化
- Eclipse上GIT插件EGIT使用手册之二_使用EGIT前的配置
- Java字节码分析(一)
- Eclipse上GIT插件EGIT使用手册之一_安装EGIT插件
- 旺旺老师JavaSE基础第二章(01)IDE工具
- java环境变量配置(windows7)
- Eclipse调试Java的10个技巧