非static和static初始化块

1 关于属性赋值的操作:(1)默认的初始化(2)显式的初始化或代码块的初始化(此处两个结构按顺序执行)(3)构造器中

(4)通过方法对对象的相应属性进行修改

2 初始化块(代码块):如果有修饰,只能用static

3 非静态代码块: (1)可以对类的属性进行初始化操作(2)里面可以有输出语句

(3)一个类中可以有多个非静态代码块,按顺序执行(4)每创建一个类的对象,非静态代码块就创建一次(5)它执行早于构造方法

4 静态代码块(1)里面可以有输出语句 (2)随着类加载,只能加载一次

(3)按顺序执行,早于非静态代码块(4)静态代码块不能执行非静态方法和属性

时间: 2024-11-16 09:03:54

非static和static初始化块的相关文章

2.24 Java基础总结 ①访问权限②static③静态方法④实例初始化块⑤静态初始化块

①访问权限②static③静态方法④实例初始化块⑤静态初始化块一.访问权限 默认是同包protected是有关系的,即同包和不同包的子类private只有本类,public全部   本类   同包 不同包       子类 非子类 子类 非子类 private √         默认(同包) √ √ √     protected √ √ √ √   public √ √ √ √ √ 二.static静态成员变量,类级别,全类共享一个Person.country = "中国":一般用

static之静态初始化块

static之静态初始化块 所有的静态初始化块都优先执行,其次才是非静态的初始化块和构造函数,它们的执行顺序是:    父类的静态初始化块    子类的静态初始化块    父类的初始化块    父类的构造函数    子类的初始化块    子类的构造函数      也就是说程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块. 比如下面的代码: 运行结果: 需要特别注意:1)静态初

初始化块

源代码: class Root{ static{ System.out.println("Root的静态初始化块"); } { System.out.println("Root的普通初始化块"); } { System.out.println("Root的无参数初始化块"); } } class Mid extends Root{ static{ System.out.println("Mid的静态初始化块"); } { Sy

疯狂Java讲义(十一)---- 初始化块

普通初始化块 一个类里可以有多个初始化块,相同类型的初始化块之间有顺序:前面定义的先执行,后面定义的后执行. 初始化块的修饰符只能是static,使用static修饰的初始化块被称为静态初始化块. 普通初始化块.声明实例属性指定的默认值都可认为是对象的初始化代码,执行顺序与声明顺序相同. 当Java创建一个对象时,系统先为该对象的所有实例属性分配内存(前提是该类已经被加载过了),接着程序开始对这些实例属性执行初始化,初始化顺序为:先执行初始化块或声明属性时制定的初始值,再执行构造器里指定的初始值

Java 中的 static 使用之静态初始化块

Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 而普通初始化块只要有创建一个实例(即new一次),就执行一次. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行

static静态初始化块

Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对

static使用之静态初始化块

public static HelloWorld { string name; { name = "爱慕课"; } } 需要特别注意:静态初始化块只能在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 程序运行时,静态初始化块首先被执行,然后执行普通初始化块,最后执行构造方法.

static声明初始化块的一下注意事项

通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块.

面向对象基础——static关键字和代码块的使用

具体内容 在Java中可以使用static声明属性和方法,因为之前多部分属性和方法都属于非static的,这样一来,每个对象都占有自己的内容,如果现在希望一个属性被所有的对象所共同拥有,则可以将其声明为static类型,声明为static类型的属性和方法之后此属性或方法也称为类非,可以由类名称直接调用. 使用static声明属性 static可以声明全局属性,全局属性到底有哪些作用?如下所示 class Person{ // 定义Person类 String name ; // 定义name属性