探索吧 > 百科 > java方法执行顺序执行——java静态方法和构造函数执行顺序

java方法执行顺序执行——java静态方法和构造函数执行顺序

导读java,静态方法为什么不能调用类成员?优质回答楼主想问的应该是不用调用成员变量吧首先,这涉及到代码执行优先级的问题,在一个Java类中,存在的代码形式有静态代码块(花括号{...

今天探索吧就给我们广大朋友来聊聊java方法执行顺序执行,以下关于观点希望能帮助到您找到想要的答案。

java,静态方法为什么不能调用类成员?

java,静态方法为什么不能调用类成员?

优质回答楼主想问的应该是不用调用成员变量吧

首先,这涉及到代码执行优先级的问题,在一个Java类中,存在的代码形式有静态代码块(花括号{}包裹住的代码片段),静态方法,构造函数,成员方法。不同形式的代码执行顺序不同:

1、静态代码块:当类被载入时,静态代码块被执行,且只被执行一次,静态代码块常用来执行类属性的初始化。

2、静态方法(也叫类方法):在类加载的时候,在不创建对象的情况下执行,可以直接用类名调用。

两者的区别是静态代码块是主动执行的,静态方法是被动执行,只有被调用时才执行。

3、构造函数在创建对象的时候执行。

4、成员方法在被调用的时候执行。

总结:Java代码执行先后顺序:静态代码块>静态方法>构造函数=非静态代码块。

在了解执行顺序后,楼主的问题就很容易解答了。

从层级上看,静态方法属于类级别,成员变量属于对象级别。同时静态方法也先于构造函数执行,内存也没给类成员分配空间,说白就是都不存在,你静态方法调用一个不存在的变量肯定不行的呀。

Java构造函数,构造代码块和静态代码块的区别

优质回答构造函数:执行时间比构造代码块时间晚,也是在对象初始化的时候运行。没有返回值,构造函数名称和类名一致。

构造代码块:执行时间比静态代码块晚,比构造函数早,和构造函数一样,只在对象初始化的时候运行。没有名字、参数和返回值。

静态代码块:最早执行,类被载入内存时执行,只执行一次。没有名字、参数和返回值,有关键字static。

静态代码块只会在类被载入内存时加载一次,是最先执行的,然后是构造代码块,最后才是构造函数。构造代码块和构造函数都是在对象创建的时候执行,有几个对象就会执行几次。

java 类中定义一个类,这两个类构造函数先后问题

优质回答JAVA初始化顺序

1、调用顺序:

JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的,静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。

先初始化父类的静态代码--->初始化子类的静态代码-->

(创建实例时,如果不创建实例,则后面的不执行)初始化父类的非静态代码--->初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数

其他说明:

2 、类只有在使用New调用创建的时候才会被JAVA类装载器装入

3、创建类实例时,首先按照父子继承关系进行初始化

4、类实例创建时候,首先初始化块部分先执行,然后是构造方法;然后从本类继承的子类的初始化块执行,最后是子类的构造方法

5、类消除时候,首先消除子类部分,再消除父类部分

你这里C继承A,所以顺序是:

A的属性初始化-->A的构造-->C的属性初始化(此时new B()调用了B的构造)-->C的构造

java 类加载先后顺序

优质回答1.父类静态代码块;

2.子类静态代码块;

3.父类非静态代码块;

4.父类构造函数;

5.子类非静态代码块;

6.子类构造函数;

举例:

public class ExA {

static {

System.out.println("父类静态代码块。");

}

public ExA() {

System.out.println("父类构造函数。");

}

{

System.out.println("父类非静态代码块。");

}

public static void main(String[] args) {

new ExB();

}

}

class ExB extends ExA {

static {

System.out.println("子类静态代码块。");

}

{

System.out.println("子类非静态代码块。");

}

public ExB() {

System.out.println("子类构造函数。");

}

}

执行结果:父类静态代码块。子类静态代码块。父类非静态代码块。父类构造函数。子类非静态代码块。子类构造函数。

了解了上面的内容,相信你已经知道在面对java方法执行顺序执行时,你应该怎么做了。如果你还需要更深入的认识,可以看看探索吧的其他内容。

本文来自网络,不代表本站立场,转载请注明出处:https://www.tsc-b.com/baike/45557.html

作者: 探索吧

探索吧为您提供最全面的生活百科网站大全,主要为您提供数码、汽车、财经、美食、财经、科技、健康、教育、创业、电商、影视、百科等资讯信息,在这里可以找到您所需的答案,解决您所困惑的问题。
大腿拨筋方法;大腿外侧拨筋的正确方式
什么方法可以破茧—职业发展中,如何破茧成蝶?
联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部