天星科技网

静态代码块和静态方法的区别,static用法?(什么静态块)

大家好,今天小编关注到一个比较有意思的话题,就是关于什么静态块的问题,于是小编就整理了3个相关介绍的解答,让我们一起看看吧。
  1. 静态代码块和静态方法的区别,static用法?
  2. 静态方法是什么时候初始化的?
  3. c语言中表示静态储存类别的是?

静态代码块和静态方法的区别,static用法?

1、静态方法:需要在项目启动的时候就初始化,在不创建对象的情况下,这种代码是被动执行的(静态方法在类加载的时候 就已经加载 可以用类名直接调用)使用类的静态方法时,注意:a、在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员(这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象)b、 静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。c、静态变量是属于整个类的变量而不是属于某个对象的。注意不能把任何方法体内的变量声明为静态2、静态代码块:有些代码必须在项目启动的时候就执行,这种代码是主动执行的(当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化)3、区别:两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的.

静态代码块和静态方法的区别,static用法?(什么静态块)-图1

静态方法是什么时候初始化的?

静态方法是在类加载的时候进行初始化的。在Java中,类的加载过程是在第一次使用该类时进行的。具体来说,在以下几种情况下会触发类的加载和静态方法的初始化:

1. 创建类的实例:当使用new关键字创建类的实例时,会触发类的加载和初始化,其中静态方法会被初始化。

2. 调用静态方法:当直接调用类的静态方法时,会触发类的加载和初始化。

静态代码块和静态方法的区别,static用法?(什么静态块)-图2

3. 访问类的静态属性:当访问类的静态属性时,也会触发类的加载和初始化。

需要注意的是,类的加载和初始化只会发生一次,即使多次使用该类或调用静态方法,也只会加载和初始化一次。加载和初始化是在类级别进行的,而不是在对象级别。

静态方法是在装载类的时候已经初始化了,可以理解为在构造函数之前。一般方法只有在构造方法完毕之后才能初始化。

静态代码块和静态方法的区别,static用法?(什么静态块)-图3

c语言中表示静态储存类别的是?

变量的存储方式可分为“静态存储”和“动态存储”两种。

静态存储变量:在定义时候存储单元里一直保持不变;直到程序结束。

对变量的存储类型静态存储有以下二种,分别是:

        extern       外部变量(静态存储)

        static         静态变量(静态存储)

您好,c语言中表示静态储存类别的有两种方式,分别是static和extern。其中static表示该变量的作用域仅限于当前代码块内的函数或文件内部,对于其他代码块也为同名变量时不会产生影响。

而extern则是表示该变量在其他文件中定义,可以在当前文件中进行访问和使用。通过这些限定符可以更加精准地掌握变量的作用范围和生命周期,提高代码的可读性和可维护性。

到此,以上就是小编对于的问题就介绍到这了,希望介绍的3点解答对大家有用。

本站非盈利性质,与其它任何公司或商标无任何形式关联或合作。内容来源于互联网,如有冒犯请联系我们立删邮箱:83115484#qq.com,#换成@就是邮箱

转载请注明出处:https://www.xuehelunwen.com/kj/4741.html

分享:
扫描分享到社交APP
上一篇
下一篇