代码块
1.构造代码块
{
代码
}
2.执行特点:优先于构造方法执行,每new一次,就会执行一次
2.静态代码块⭐⭐⭐
static{
代码
}
2.执行特点:
静态代码块优先于构造代码块和构造方法执行的,而且只执行一次
内部类
1 静态成员内部类
1.格式:直接在定义内部类的时候加上static关键字
修饰符 class 类名{
static class 静态成员内部类名{
}
}
2.调用静态内部类成员:
外部类.内部类 对象名 = new 外部类.内部类();
2 非静态成员内部类
修饰符 class 类名{
class 静态成员内部类名{
}
}
调用
外部类.内部类 对象名 = new 外部类().new 内部类();
3.局部内部类-匿名内部类⭐⭐⭐
格式1 匿名内部类的匿名对象
new 接口名/抽象类{
重写方法;
}.重写方法名();
格式2 匿名内部类的有名对象
接口名/抽象类 对象名 = new 接口名/抽象类(){
重写方法;
}