Java关键字之abstract、final、static用法
abstract:即抽象的,可以修饰类、方法;
修饰类:当有一个方法为抽象方法时,这个类就是抽象类,抽象类不能被new,它是一个不完整的类。
修饰方法:这个方法就是抽象的,即只能方法的定义,没有方法的实现。
final:即最终的,可以修饰类、属性、方法;
修饰类:这个类不能被继承
修饰属性:这个属性值不可以被改变
修饰方法:这个方法为最终方法,不能被重写(覆盖)
a.final、finally、finalize的区别?
final用于声明类、属性、方法;表示属性不可变、方法不可覆盖、类不可继承。
finally是异常处理语句的一部分,表示总是执行。
finalize是object的一个方法,在垃圾收集器执行时会调用对象的这个方法,供垃圾收集时其他资源的回收。
static:静态修饰符,用于修饰成员和成员函数,可以直接被类名调用。
修饰属性:这个属性就是静态属性(静态变量|类变量)
修饰方法:这个方法就是静态方法(类方法)
注意:静态方法不能直接调用非静态方法;成员方法可以直接调用静态方法
修饰块:会在类加载时执行的一段代码块,并且只执行一次(静态代码块)
特点:
随类的加载而加载,先有静态,之后有对象产生;
被所有对象所共享;
可以直接被类名调用;
静态变量不能直接调用成员变量;
面试问题:为什么abstract不能与private、final、static类共存?
abstract修饰的类必须被继承,修饰的方法应该被重写;
final修饰的类,属性、方法不可以被更改,因此修饰的方法不能被重写;
private修饰的类只能是内部类,修饰的属性、方法只能在本类内部调用,重写的方法不能访问这些方法和属性;
static修饰的方法是静态的,可以被类所调用,但abstract修饰的方法是抽象的,没有方法体不能被直接调用,需要通过类的继承或接口实现来重写抽象方法后才能使用。
上一篇: 司马丕为什么会毒死?真相是什么
下一篇: 猪肝的功效竟有这些想不到的好处!
推荐阅读
-
java多线程关键字final和static详解
-
java学习笔记(基础篇)—关键字static和final
-
java关键字static用法详解
-
JAVA-this关键字JAVAsuper关键字JAVA-static修饰符和final以代码块内部类和枚举
-
Java开发笔记(五十三)关键字final的用法
-
【java基础】面试常见问题:类和对象,封装继承多态,final关键字,static关键字,类加载过程,双亲委派模型
-
Java开发笔记(五十五)关键字static的用法
-
Java关键字之abstract、final、static用法
-
Java关键字详解之final static this super的用法
-
Java面向对象(三)——关键字(this,super,static,final,abstract,interface,implements,throw)