Java中的抽象类以及final关键字
抽象类
-
抽象类和普通类没什么大的差异,抽象类不能被实例化,必须用abstarct修饰,权限修饰符只能是public/protected类型;如果不写权限修饰符,则它默认就是public类型的。
-
抽象类必须被继承才能实例化,所以它不能被final修饰。因为被final修饰的类不能被继承,被final修饰的方法不能被重写。
-
抽象类被继承时,子类要重写父类的抽象方法,否则也只能将子类定义为抽象类。
public abstact void getA();
- 抽象类体现的是模板思想,在抽象类中已经实现了的成员就是模板。
final
- final:表示最终的,可以修饰类、方法、属性
- 修饰变量,有且仅能被赋值一次。:修饰静态成员变量,修饰实例成员变量,修饰局部变量
- final修饰静态成员变量可以在哪些地方赋值一次:
1.定义的时候赋值一次。
2.可以在静态代码块中赋值一次。 - final修饰实例成员变量可以在哪些地方赋值1次:
1.定义的时候赋值一次。
2.可以在实例代码块中赋值一次。
3.可以在每个构造器中赋值一次。 - final修饰局部变量
1.定义的时候赋值一次。
2.可以在局部代码块(方法体)中赋值一次。
- final修饰静态成员变量可以在哪些地方赋值一次: