代码块
1 什么是代码块?
使用一个大括号括起来的有单代码
根据位置出现的不同,修饰符的不同,代码块有不同的名称,有不同的作用。
2 代码块的分类
1 局部代码块
2 构造代码块
3 静态代码块
4 同步代码块(多线程讲解)
局部代码块
1 格式:
直接使用大括号括起来的一段代码
2 位置
出现在方法中
3 作用
用来限制局部变量的声明周期
在局部代码块中,声明的变量作用的范围(作用域),只能在这个局部代码块中,一旦出了局部代码块,这个,代码块中定义的变量就不能再使用了。
某个变量不能被使用了,就意味着它 的声明周期到了,变量被销毁了。
4 注意事项
1 如果在局部代码块中定义了变量,一定不要再使用它了,否则就会编译报错
2 在一个类中,可以有多个局部代码块,如果在局部代码块中修改了上边定义的局部变量的值,修改之后的值就会赋值给局部变量,说的通俗点,改了就真的改了。
3 局部代码块中不能定义和局部代码块上面同名的局部变量
4 局部代码块下面可以定义哥局部代码块中同名的局部变量
构造代码块
1 格式:
使用大括号一段的代码
2 位置
定义在类中的大括号中
3 作用
用来给成员变量赋值
4 构造代码块的执行说明
1 在创建对象的时候,有jvm默认使用,也就意味者只要创建对象,构造代码块就会执行
2 执行的时机早于构造方法
3 任何一个构造方法执行,都会执行构造代码块的内容
4 就是因为第三点,就可以把每个构造方法中执行的相同操作,抽取到构造代码块中
静态代码块
1 格式
static{
这里只能访问类中的静态内容,
写一些需要执行的代码
}
2 位置
出现在类中大括号了
3 作用
1 用于给静态变量赋值
2 用于执行那些一个类的一生中只执行一次的代码。静态代码块是随着类的字节码文件加载到方法区时执行。一个雷的字节码文件只加载一次,静态代码块的内容也就只执行一次。
以后在学习数据库,用来加载数据库驱动类。
4 注意事项
1 静态代码块中不能访问非静态的内容
5 静态代码块实际执行
1 随着类的加载而执行
2 类只加载一次,静态代码块只执行一次
3 静态代码块早与任何内容,执行时间很短
final关键字
1 :单词的含义:最终的,最后的,表示不能改变的
2 final是一个修饰符,能修饰的内容有:类,方法,变量
3 修饰类:
表示这个类是一个最终类,表示不能有子类,这给类不能被其它类继承。
一个类不能被继承,那么他里边的方法不能被重写
但是不影响这个方法的调用
4 修饰方法
表示这个方法是一个最终的方法,意味着这个方法不能被重写。
5 修饰变量
表示这个变量不能被更改。
权限修饰符
- 都是一些关键字,往往用来修饰成员变量.修饰之后可以决定这个成员变量在什么位置能直接访问.
- 这些关键字都可以理解为java中面向对象一种: 封装
关键字
自己类中
本包子类
本包其无关类
其他包子类
其他包无关类
public
能
能
能
能
能
private
能
不能
不能
不能
不能
protected
能
能
能
能
不能
默认的权限(啥都不写)
能
能
能
不能
不能