java语言的标志为一杯热气腾腾的咖啡,JAVA语言基础-面向对象(代码块)

本文详细介绍了Java中的代码块,包括局部代码块、构造代码块、静态代码块和同步代码块。局部代码块用于限制变量生命周期,提高内存效率;构造代码块在对象创建时执行,用于初始化;静态代码块在类加载时执行一次,常用于类的初始化;同步代码块在多线程环境下确保代码块的线程安全。示例代码展示了各种代码块的使用情况。
摘要由CSDN通过智能技术生成

代码块概述

在Java中,使用{}括起来的代码被称为代码块。

代码块分类

根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。

常见代码块的应用

a:局部代码块

在方法中出现;限定变量生命周期,及早释放,提高内存利用率

b:构造代码块 (初始化块)

在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行

c:静态代码块

在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。

一般用于加载驱动

class Demo1_Code {

public static void main(String[] args) {

{

int x = 10;//局部代码块:限定变量的声明周期

System.out.println(x);

}

Student s1 = new Student();

System.out.println("---------------");

Student s2 = new Student("张三",23);

}

static {

System.out.println("我是在主方法类中的静态代码块");

}

}

class Student {

private String name;

private int age;

public Student(){

//study();

System.out.println("空参构造");

}//空参构造

public Student(String name,int age) {//有参构造

//study();

this.name = name;

this.age = age;

System.out.println("有参构造");

}

public void setName(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setAge(int age) {

this.age = age;

}

public int getAge() {

return age;

}

{//构造代码块:每创建一次对象就会执行一次,优先于构造函数执行

//System.out.println("构造代码块");

study();

}

public void study() {

System.out.println("学生学习");

}

static {//随着类加载而加载,且只执行一次

System.out.println("我是静态代码块");//作用:用来给类进行初始化,一般用来加载驱动

}//静态代码块是优先于主方法执行

}

class Student {

static {

System.out.println("Student 静态代码块");

}

{

System.out.println("Student 构造代码块");

}

public Student() {

System.out.println("Student 构造方法");

}

}

class Demo2_Student {

static {

System.out.println("Demo2_Student静态代码块");

}

public static void main(String[] args) {

System.out.println("我是main方法");

Student s1 = new Student();

Student s2 = new Student();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值