## 1.static能修饰什么,及其含义
1)修饰类class ,静态内部类
2)修饰成员变量,是静态变量
3)修饰方法,静态方法
4)static+{代码},静态代码块
5)import+static ,静态导入
2.静态方法和静态块的区别
1.静态块是主动执行,静态方法手动调用才执行
2.静态块只执行一次,静态方法每次调用都可以执行
3.静态块没有名字,参数,返回值,修饰符静态方法有
4.静态块不可以抛异常,而静态方法可以
# 3.final能修饰什么及其含义
1.修饰类:太监类不可以被继承
2.修饰方法:最终方法,不可以被重写
3.修饰变量:不可以更改值。
实际上用final修饰的变量就叫做常量,但是在java中public final static 修饰的变量叫做常量。
静态变量用final修饰,可以再声明或者静态块中赋值,
成员变量用final修饰时,可以在声明、构造器、动态块中赋值。
局部变量用final修饰时,使用前赋值即可。
参数用final修饰的时候,不能赋值,值必须调用时传入,并且在方法体内不能改值。
4.final finally finalize的区别
1.final可以修饰类,方法和变量
2.fianlly是异常处理语法的一部分,一般情况下fianlly里面的代码一定能执行,但是除了System.exit()等除外。
3.finalize是object中一个方法,在对象销毁前自动调用,但是不建议重写。
5.抽象类和接口的区别
1.抽象类的子类能够继承抽象类,但是只能继承一个;接口的实现类可以实现多个接口,子接口也可以继承多个父接口。
2.抽象类中没有构造器,接口中也咩有构造器
3.抽象类中可以有成员变量,接口没有成员变量是公用静态常量。
4.抽象类中可以有抽象方法也可以有非抽象方法,java8之前接口中只能有抽象方法,但java8推出了默认方法(即公有方法),静态方法实现