首页 > 编程知识 正文

关于java类中的代码块(java 代码块)

时间:2023-12-06 16:47:15 阅读:312723 作者:JUDV

本文目录一览:

  • 1、Java关于代码块的问题
  • 2、java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什么作用呢
  • 3、java中详解静态代码块,构造代码块,构造方法。求简单易懂的解释
  • 4、Java的静态块和初始化块分别何时执行?有什么区别?
  • 5、java中,代码块(初始化块)和构造函数的区别是什么?
  • 6、java中静态代码块的作用跟用法

Java关于代码块的问题

这个是因为你的代码写在匿名内部类里面,java在类里只允许声明成员变量和函数,是不能直接写代码的。

代码逻辑应该写在函数内部。

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

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

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

java中详解静态代码块,构造代码块,构造方法。求简单易懂的解释

静态代码块:只要一用到某个类,那么这个类的静态代码块就先执行,比如:

public class Dog(){

    int i = 0;

    static {

        i = 1; 

    }  

 

    public Dog(){

           i = 2; 

    }    

}

当你new 一个Dog()对象时,首先i= 1 会执行,然后才执行 public Dog(){}这个方法。

pulic Dog() 是与类同名、没有返回值的方法,也就是构造方法。

构造方法的作用是用来初始化一个对象的。比如你可以在里面写 i = 2;

那么当你 Dog d = new Dog()执行这段代码的时候,是这样的:

首先 i = 0 ;

然后执行static 静态代码块,此时i= 1;

最后执行public Dog();  i = 2;

Java的静态块和初始化块分别何时执行?有什么区别?

静态初始化块:当类第一次加载时执行。

非静态初始化块:非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被执行。

区别如下:

1、执行次数不同

静态块只执行一次,初始化块可以执行多次。

2、作用不同

静态初始化块仅能初始化类变量,即static修饰的数据成员。

非静态初始化块可以初始化类的实例变量。

扩展资料:

使用Java静态代码块注意事项:

1、它是随着类的加载而执行,只执行一次,并优先于主函数。具体说,静态代码块是由类调用的。类调用时,先执行静态代码块,然后才执行主函数的。

2、静态代码块其实就是给类初始化的,而构造代码块是给对象初始化的。

3、静态代码块中的变量是局部变量,与普通函数中的局部变量性质没有区别。

4、一个类中可以有多个静态代码块。

5、对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)(变量、初始化块)构造器。

java中,代码块(初始化块)和构造函数的区别是什么?

代码块有构造代码块和静态代码块,静态代码块是类加载的时候执行的,一共只执行一次,构造代码块是创建类对象的时候执行的,创建一个对象执行一次,代码块都是用于初始化的,而构造函数是用于创建对象的。

java中静态代码块的作用跟用法

Java静态代码块的作用:Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用。一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需要使用静态代码块。

Java静态代码块的用法:一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。例如:

static

{

int a=0;

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。