导航:首页 > 编程语言 > java代码的执行顺序

java代码的执行顺序

发布时间:2023-02-10 06:47:03

1. 关于java调试的执行顺序

初次执行时要载入类,载入代码和初始化静态成员,即2、4,然后返回类的引用,即1、3,由此获得方法成员的代码地址,从继承关系的祖先开始。

2. java中同一层次的语句是按先后顺序执行还是同时执行呢

java中同一层次的语句是按先后顺序执行还是同时执行,这个要分情况讨论。
1、执行顺序如下:
初始化->条件表达式->语句->增量->条件表示式->语句-增量->...->条件表达式。
在执行的时候,初始化语句只执行一次,后续按照条件表达式进行判断,如果符合条件,则执行[语句],然后执行增量。再根据条件表示式进行判断,重复上面过程。
这两个方法在被调用的时候运行,不主动调用的话他们谁也不运行
举例说明:
//定义一个类A
class A{
//先写第一个非main方法
void method_A(){System.out.println("A");}
//再写第二个非main方法
void method_B(){System.out.println("B");}
}

public class Test(){//程序
public static void main(){
A a = new A();
a.method_B();//调用method_B(),method_B()就执行了打印出B,和写的顺序没有关系
a.method_A();//同理,后调用a.method_A(),就后打印A,如果不调用a.method_A(),那么A就永远不会被打印
}
}

3. java 代码执行顺序

这两句话只是设置属性啊。
file.setSize(200,300);
file.setVisible(true);
不会最后执行的。你打个断点在
file.Calendar();//显示当前日期

,然后看file属性,应该是会被改变的

4. Java类的完整构造执行顺序

这里只说一个完整的结果 至于为什么是这样的顺序 可以参考我以前的文章 深入剖析java类的构造方式

    如果父类有静态成员赋值或者静态初始化块 执行静态成员赋值和静态初始化块 如果类有静态成员赋值或者静态初始化块 执行静态成员赋值和静态初始化块 将类的成员赋予初值(原始类型的成员的值为规定值 例如int型为 float型为 f boolean型为false 对象类型的初始值为null) 如果构造方法中存在this()调用(可以是其它带参数的this()调用)则执行之 执行完毕后进入第 步继续执行 如果没有this调用则进行下一步 (这个有可能存在递归调用其它的构造方法) 执行显式的super()调用(可以是其它带参数的super()调用)或者隐式的super()调用(缺省构造方法) 此步骤又进入一个父类的构造过程并一直上推至Object对象的构造 执行类申明中的成员赋值和初始化块 执行构造方法中的其它语句

其中第 步是比较麻烦的 因为this调用实际上会调用类的另外一个构造方法 最终应该是执行类的某个构造方法 它可能会显示的调用super 但是无论是否调用super 最终都是执行super的 也就是父类的构造方法并一直这样递归到Object 所以在子类和父类的构造中 首先构造或者说执行的是父类的构造 但是它是由子类的构造方法调用的 先于构造方法的方法体里面的内容 这个是由编译器决定的 所以我感觉简单直观一些的顺序表述应该是

    如果父类有静态成员赋值或者静态初始化块 执行静态成员赋值和静态初始化块 如果类有静态成员赋值或者静态初始化块 执行静态成员赋值和静态初始化块 将类的成员赋予初值(原始类型的成员的值为规定值 例如int型为 float型为 f boolean型为false 对象类型的初始值为null) 执行构造方法 并可能递归调用this() 最终先执行父类的构造方法并一直递归到Object的构造方法的执行 父类的构造方法执行完成后 执行类申明中的成员赋值和初始化块 执行构造方法中的其它语句

最终的简化顺序版本是

    父类的静态成员赋值和静态块 子类的静态成员和静态块 父类的构造方法 父类的成员赋值和初始化块 父类的构造方法中的其它语句 子类的成员赋值和初始化块 子类的构造方法中的其它语句
lishixin/Article/program/Java/hx/201311/27010

5. java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什么作用呢

先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器。

再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的。

6. java运行顺序

我的加不加结果几乎都是一样的
object
X
construct
object
X
is
reclaimed
都能打出来,几乎都是12345,54321的格式打出的。
我加个回车,和不加回车都是这样子。
还有在main方法结束之后打多一个回车为什么对System.gc()这个函数有影响?
我认为加不加回车都java都没影响。
因为,jvm的垃圾回车机制,是在程序有空闲是会自动调用,
就算你手动写了,System.gc();
他也不一定会马上执行。
就好象,
你在叫别人帮你拿东西的时候,
也许他会马上就拿给你,
也许他现在在忙,等了2分钟才拿给你
又或者,他刚起身,(还没拿到),但是他有做其他的事情去了,然后在去拿给你
如果你在main方法多new
几个Garbage出来,
然后最后不加回车,你运行个几十次,他的结果,顺序可能会有几次不一样(就好象上面我举的列子)
然后你在加上回车,你在运行几十次,看看。

7. java程序执行顺序

因为在main方法里面语句是顺序执行
当语句执行到if(1+1==2)时,判断if()括号里面的条件是否为正确的,此时1+1就是等于2
条件正确,则顺序执行if里面的语句
则会输出12345和充值成功。
但是你的第一个语句的print的是err,是输出错误语句,他并不遵循顺序输出
你只要把第一个语句改为System.out.print(isname(''1231'');就可以了。

8. 怎样保证 java代码的执行顺序

先后顺序如下!
1.静态块
2.块
3.构造器
4.父类构造器

运行顺序为:

1. 静态块
2. 父类构造器
3. 本类中的块
4. 本类的构造器

9. JAVA里,执行的顺序

静态变量与静态块都是优先执行的。Java就是这么规定的。

10. java方法执行顺序

先后顺序如下!
1.静态块
2.块
3.构造器
4.父类构造器

运行顺序为:

1. 静态块
2. 父类构造器
3. 本类中的块
4. 本类的构造器

阅读全文

与java代码的执行顺序相关的资料

热点内容
ug如何启动服务器 浏览:444
csgo防抖动命令 浏览:960
如何弄到手机app页面的源码 浏览:441
androidwindows7破解版 浏览:363
解压视频动画怎么拍 浏览:748
连涨启动源码 浏览:163
小奔运动app网络异常怎么回事 浏览:449
php开启压缩 浏览:305
服务器主机如何设置启动 浏览:284
linux配置网络命令 浏览:776
一张照片怎么制作视频app 浏览:910
pythonweb和php 浏览:978
电脑服务器地址ip地址 浏览:823
对矩阵压缩是为了 浏览:912
setfacl命令 浏览:175
linux子系统中断 浏览:342
linux查看进程ps 浏览:226
知识库系统php 浏览:625
小波变换压缩图像python 浏览:153
阿里巴巴程序员怎么月入百万 浏览:175