1、final:
final是定义属性、方法等中常说的其他修饰符,他可以修饰类、属性、方法等。
a、修饰类时,被修饰的类不能被继承,当有的类不想被继承的时候就是用final进行修饰,但需要注意的是,由于重写是子类对父类继承的前提下才可以重写,所以当一个类被final继承的时候就意味着该类中的方法也不能被其他类所重写。
b、修饰方法时,该方法不能被重写,一般应用在不想被重写的方法中
c、修饰属性时,该属性为常量,不会被更改,所以要被final修饰的属性要赋初始值
2、static
static是静态的,被static修饰的元素属于类,在调用的时候不需要构建对象,可以直接使用 类名. 对其进行调用,static可以修饰属性、方法、构造块等。
a、修饰属性时,该属性在该类被加载的第一次时进行初始化,即当对该类进行创建个对象后,通过对象对属性进行赋值后,再创建第二个对象后,查看该对象的属性值,该值不为0.
b、修饰方法时,可以不用通过创建对象来对该方法进行调用,可以直接通过类名.方法名对方法进行调用
c、修饰构造块时,在构造块在该类被加载的时候只执行一次
3、abstract
abstract代表抽象的意思,能修饰类和方法,修饰类的时候代表该类是一个抽象类,应用在定义抽象概念中,比如中国梦等抽象概念。抽象类中可以有被abstract修饰的抽象类,抽象类没有方法体,主要应用在写不出方法体的方法中,当一个类中有抽象方法的时候该类一定是抽象类,当抽象类不一定有抽象方法,它还可有正常类中该有的成员。综上所述,抽象类主要是给别人进行继承的来重写其内部的构造方法,继承抽象类的类要么重写里面的所有抽象方法,要么是一个抽象类。
4、Interface接口
接口是一种规范,需要类对其进行实现,接口中的方法都是抽象方法,接口中的属性都是被fianl static修饰的常量,接口中没有构造器构造块,多以不能创建对象。其主要目的是为了让其他类对其进行实现,重写其中的抽象方法,实现接口的类要么重写里面的所有抽象方法,要么是一个抽象类。
5、抽象类和接口的区别
a、抽象类和接口中都可以有抽象方法,当抽象类中还可以有其他普通的方法
b、抽象类中可以有构造器、构造快,但接口中不可有
c、抽象类和接口中都可以有属性,但接口中的属性是常量
d、一个类只能继承一个抽象类,但能实现多个接口
e、接口之间可以相互继承