高级类修饰符:
— static:修饰属性,方法,块,内部类
— final :修饰类,常用属性,方法,局部变量
— abstract: 修饰类,方法
— synchronized:修饰方法,同步代码块
static方法定义:如果某个方法不需要与某个特定的对象绑定,那么该方法可以使用static修饰,被static修饰的方法称为静态方法
static方法的作用:static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用
Static的使用场景:如果某个方法与实例无关,也就是说不管哪个对象调用这个方法,都执行相同的操作,与对象没有关系,则应该定义为静态方法。不需要创建对象后再使用该方法。
任何方法都可以直接调用静态方法
静态方法不能直接调用非静态方法,需要创建对象,用对象名调用非静态方法
静态块:静态块只有在类加载的时候被执行一次,不管创建多少个对象,都不会再执行。
如果一个类加载的时候,总要预先做一些事情,则可以放在静态块中,例如,读取一个属性文件,进行一些常规配置,写一些日志等。
一个类中可以有多个静态块,按照顺序执行。
final修饰符
final修饰属性、局部变量,值不能被修改
final修饰类,不能被继承
final修饰方法,不能被子类覆盖
final的定义:
用于声明属性,方法和类
属性:定义就必须直接赋值或者在构造方法中进行赋值,并 且后期都不能修改。
方法:定义必须有实现代码,并且子类里不可被覆盖。
类 :不能被定义为抽象类或是接口,不可被继承。
final修饰属性
当final修饰属性时,基本数据类型的属性将成为常量,不能被修改
高级类修饰符:
— static:修饰属性,方法,块,内部类
— final :修饰类,常用属性,方法,局部变量
— abstract: 修饰类,方法
— synchronized:修饰方法,同步代码块
static方法定义:如果某个方法不需要与某个特定的对象绑定,那么该方法可以使用static修饰,被static修饰的方法称为静态方法
static方法的作用:static方法可以使用对象调用,也可以直接用类名调用,建议用类名直接调用
Static的使用场景:如果某个方法与实例无关,也就是说不管哪个对象调用这个方法,都执行相同的操作,与对象没有关系,则应该定义为静态方法。不需要创建对象后再使用该方法。
任何方法都可以直接调用静态方法
静态方法不能直接调用非静态方法,需要创建对象,用对象名调用非静态方法
静态块:静态块只有在类加载的时候被执行一次,不管创建多少个对象,都不会再执行。
如果一个类加载的时候,总要预先做一些事情,则可以放在静态块中,例如,读取一个属性文件,进行一些常规配置,写一些日志等。
一个类中可以有多个静态块,按照顺序执行。
final修饰符
final修饰属性、局部变量,值不能被修改
final修饰类,不能被继承
final修饰方法,不能被子类覆盖
final的定义:
用于声明属性,方法和类
属性:定义就必须直接赋值或者在构造方法中进行赋值,并 且后期都不能修改。
方法:定义必须有实现代码,并且子类里不可被覆盖。
类 :不能被定义为抽象类或是接口,不可被继承。
final修饰属性
当final修饰属性时,基本数据类型的属性将成为常量,不能被修改