this关键字
this关键字是当前对象,谁是当前对象,谁调用谁就是this
this.成员变量 可以访问成员变量
this.成员方法 可以调用成员方法
this() 调用无参构造方法,必须在构造方法第一句
this(对应参数值) 调用由参构造方法,必须在构造方法第一句,不能自己调用自己
this关键字可以作为参数传递
String类中有一个方法
public boolean matches(String regex){
return Pattern.matches(regex,this);
}
static关键字
static既能修饰变量也能修饰方法
static关键字的特点
1.static修饰变量或方法,随着类的加载而加载
PS:当类加载器把字节码文件加载进JVM时,static变量或方法已经存在内存中
2.优先于对象存在
PS:对象是通过new关键字创建出来的,这时static修饰的已经存在
3.static修饰的成员变量及静态变量是所有对象共享
4.static修饰变量或方法可以通过类名.方法名的方式调用,static属于类
类名.静态变量 类名.静态方法
static修饰的代码块
代码块----->在类或方法中,直接使用"{ }"扩起来的一段代码
初始化代码块(构造代码块):直接定义在类中
每次创建对象都会调用构造方法,在调用构造方法之前,会先执行苯类中的构造代码块
结果:
初始化代码块被调用
无参构造方法被调用
3.静态代码块:使用static修饰的代码块
可以对静态常量赋值,优先级最高
static{
System.out.println("静态代码块被调用");
}
先执行静态代码块—>再执行初始化代码块—>然后是构造方法
工具类
在一个项目中,有一些通用的逻辑,抽取出来封装到一个方法,被它使用需要使用的类调用,这个封装方法的类叫工具类
工具类的名字 XXXUtil 或 XXXTool
工具类和普通类的最大区别
1.工具类不允许创建对象