北京华思世纪思科CCNA中文视频教程全集(迅雷)
2009-06-08 11:56
405 查看
在Java中,对于静态变量,静态初始化块,变量,初始化块,构造器,初始化顺序是(静态变量,静态初始化块)>(变量,初始化块)>构造器。括号中是并列的,那个先出现,先初始化那个。通过一下程序测试:
public class InitialOrderTest {
//静态变量
public static String staticField="静态变量";
//变量
public String field="变量";
//静态初始化块
static{
System.out.println(staticField);
System.out.println("静态初始化块");
}
//初始化块
{
System.out.println(field);
System.out.println("初始化块");
}
//构造器
public InitialOrderTest(){
System.out.println("构造器");
}
public static void main(String[] args) {
new InitialOrderTest();
}
}
运行结果是:
静态变量
静态初始化块
变量
初始化块
构造器
在继承情况下,用一下代码测试:
class Parent{
//静态变量
public static String p_StaticFied="父类--静态变量";
//变量
public String p_Field="父类--变量";
//静态初始化块
static{
System.out.println(p_StaticFied);
System.out.println("父类--静态初始化块");
}
//初始化块
{
System.out.println(p_Field);
System.out.println("父类--初始化块");
}
public Parent(){
System.out.println("父类--构造器");
}
}
public class SubClass extends Parent{
// 静态变量
public static String s_StaticFied="子类--静态变量";
//变量
public String s_Field="子类--变量";
//静态初始化块
static{
System.out.println(s_StaticFied);
System.out.println("子类--静态初始化块");
}
//初始化块
{
System.out.println(s_Field);
System.out.println("子类--初始化块");
}
public SubClass(){
System.out.println("子类--构造器");
}
public static void main(String[] args) {
new SubClass();
}
}
结果为:
父类--静态变量
父类--静态初始化块
子类--静态变量
子类--静态初始化块
父类--变量
父类--初始化块
父类--构造器
子类--变量
子类--初始化块
子类--构造器
由此可知,并不是父类初始化完后子类才初始化,父类的变量,初始化块,构造器会晚于子类的静态变量,静态初始化块。
环境变量的设置:
新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06
新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)
JAVA_HOME=/opt/aspire/product/midportal/jdk1.6.0_20
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar
JRE_HOME=$JAVA_HOME/jre
export LANG=zh_CN.GBK
export PATH
export CLASSPATH
export JRE_HOME
.bash_profile
public class InitialOrderTest {
//静态变量
public static String staticField="静态变量";
//变量
public String field="变量";
//静态初始化块
static{
System.out.println(staticField);
System.out.println("静态初始化块");
}
//初始化块
{
System.out.println(field);
System.out.println("初始化块");
}
//构造器
public InitialOrderTest(){
System.out.println("构造器");
}
public static void main(String[] args) {
new InitialOrderTest();
}
}
运行结果是:
静态变量
静态初始化块
变量
初始化块
构造器
在继承情况下,用一下代码测试:
class Parent{
//静态变量
public static String p_StaticFied="父类--静态变量";
//变量
public String p_Field="父类--变量";
//静态初始化块
static{
System.out.println(p_StaticFied);
System.out.println("父类--静态初始化块");
}
//初始化块
{
System.out.println(p_Field);
System.out.println("父类--初始化块");
}
public Parent(){
System.out.println("父类--构造器");
}
}
public class SubClass extends Parent{
// 静态变量
public static String s_StaticFied="子类--静态变量";
//变量
public String s_Field="子类--变量";
//静态初始化块
static{
System.out.println(s_StaticFied);
System.out.println("子类--静态初始化块");
}
//初始化块
{
System.out.println(s_Field);
System.out.println("子类--初始化块");
}
public SubClass(){
System.out.println("子类--构造器");
}
public static void main(String[] args) {
new SubClass();
}
}
结果为:
父类--静态变量
父类--静态初始化块
子类--静态变量
子类--静态初始化块
父类--变量
父类--初始化块
父类--构造器
子类--变量
子类--初始化块
子类--构造器
由此可知,并不是父类初始化完后子类才初始化,父类的变量,初始化块,构造器会晚于子类的静态变量,静态初始化块。
环境变量的设置:
新建系统变量JAVA_HOME:C:\Program Files\Java\jdk1.5.0_06
新建系统变量CLASSPATH:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
在系统变量Path的值的前面加入以下内容:%JAVA_HOME%\bin;(注意:这里的分号不能省略)
JAVA_HOME=/opt/aspire/product/midportal/jdk1.6.0_20
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin
CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar
JRE_HOME=$JAVA_HOME/jre
export LANG=zh_CN.GBK
export PATH
export CLASSPATH
export JRE_HOME
.bash_profile
相关文章推荐
- 【C语言也能干大事】视频教程全集
- CityEngine规则开发中文视频教程
- 一周学习Flex应用开发视频教程(中文注释版)
- UDK官方视频教程带中文字幕虚幻引擎UDK(16章全) ㍿
- 传智播客Java培训全集全面精通视频培训教程(上下集)
- OpenStack入门到实战视频教程全集下载(罗勇老师经典教程系列)
- jbpm视频教程全集下载【21讲完整】
- 戴维营教育-Swift语言中文教程和配套视频教程更新中
- python中文视频教程
- 机器学习算法中文视频教程
- 一周内学会Flex(中文视频教程
- SAP Fiori 2.0中文版系列视频教程(中文首发)
- 张效祥老师的java视频教程全集(13.5G)
- 韩顺平_JAVA_视频教程_下载(打开迅雷,直接复制链接地址即可下载)
- 机器学习(ML)中文视频教程
- python视频教程大全集下载啦!超级全的教程!
- python视频教程大全集下载
- 机器学习算法中文视频教程
- OpenStack入门到实战视频教程全集下载(罗勇老师经典教程系列)