《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
根据代码块定义的位置以及关键字,又可分为以下四种:
- 普通代码块(了解即可,一般不会用)
- 构造块(实例代码块)
- 静态代码块
- 同步代码块(后续讲解多线程部分再谈)
1.2普通代码块
普通代码块:定义在方法中的代码块.
public class Main{
public static void main(String[] args) {
{
//直接使用{}定义,普通方法块
int x = 10 ;
System.out.println("x1 = " +x);
}
int x = 100 ;
System.out.println("x2 = " +x);
}
}
// 执行结果
x1 = 10
x2 = 100
这种用法较少见。
1.3构造代码块
构造块:定义在类中的代码块(不加修饰符)。也叫:实例代码块。构造代码块一般用于初始化实例成员变量。
class Person {
private String name;//实例成员变量private int age;
private String sex;
public Person() {
System.out.println(“I am Person init()!”);
}
//实例代码块
{
this.name = “bit”;
this.age = 12;
this.sex = “man”;
System.out.println(“I am instance init()!”);
}
public void show() {
System.out.println("name: " + name + " age: " + age + " sex: " + sex);
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.show();
}
}
// 运行结果
I am instance init()!
I am Person init()!
name: bit age: 12 sex: man
注意事项****😗* 实例代码块优先于构造函数执行。**
1.4静态代码块
使用static定义的代码块。一般用于初始化静态成员属性。
****代码示例:****此处思考最终的输出结果是多少呢?
class Person2 {
private String name;//实例成员变量
private int age;
private String sex;
private static int count = 0;//静态成员变量
public Person2() {
System.out.println(“I am Person init()!”);
}
//实例代码块
{
this.name = “bit”;
this.age = 12;
this.sex = “man”;
System.out.println(“I am instance init()!”);
}
//静态代码块
static {
count = 10;//只能访问静态数据成员
System.out.println(“I am static init()!”);
}
public void show() {
System.out.println("name: " + name + " age: " + age + " sex: " + sex);
}
}
public class LeiHeDuiXiang6 {
public static void main(String[] args) {
Person2 p1 = new Person2();
Person2 p2 = new Person2();
}
}
注意事项:
1.静态代码块不管生成多少个对象,其只会执行一次,且是最先执行的。
2.静态代码块执行完毕后, 实例代码块(构造块)执行,再然后是构造函数执行。(重点)
所以我们可以推断出上述代码最终的输出结果为:
I am static init()!
I am instance init()!
I am Person init()!
最后
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!
I am Person init()!
最后
[外链图片转存中…(img-rFjuGWGc-1714441149515)]
[外链图片转存中…(img-uZpuaEVT-1714441149515)]
[外链图片转存中…(img-5iTnDLWW-1714441149516)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!