代码块:
局部代码块:定义在方法中的,用来限制变量的作用范围
构造代码块:定义在类中方法外,用来给对象中的成员初始化赋值
静态代码块:定义在类中方法外,用来给类的静态成员初始化赋值
匿名对象:一个没有名字的对象
创建匿名对象直接使用,没有变量名
匿名对象在没有指定其引用变量时,只能使用一次
匿名对象可以作为方法接收的参数、方法返回值使用
static : 关键字
可以用来修饰类中的成员(成员变量,成员方法)
注意: 也可以用来修饰成员内部类
特点:
被静态所修饰的成员,会被所有的对象所共享
被静态所修饰的成员,可以通过类名直接调用,方便
Person.country = "中国";
Person.method();
注意事项:
静态的成员,随着类的加载而加载,优先于对象存在
在静态方法中,没有this关键字
静态方法中,只能调用静态的成员(静态成员变量,静态成员方
代码块的执行顺序:静态代码块=》构造代码块=》构造方法
构造代码块:每创建一个对象均会执行一次构造代码块。
静态(static)代码块:
类第一次加载入虚拟机时,就会被执行,该类不管创建多少对象只会被执行一次。
它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
可用于给静态变量赋值,用来给类进行初始化。
匿名内部类:是创建某个类型子类对象的快捷方式。格式为:
new 父类或接口(){
//方法重写
};