final修饰符
用final修饰的类无法被继承
用final修饰的方法可以被继承但是不能被重写
用final修饰的变量表示常量,只能赋值一次
abstract修饰符
abstract修饰符可以修饰方法也可以修饰类,如果修饰方法,那么这个方法就是抽象方法,如果修饰类,那么就是抽象类。
抽象类和抽象方法的关系
抽象类中可以没有抽象方法,但是如果有一个类中有抽象方法,那么这个类一定是抽象类。
语法
public abstract class Test{
public abstract void run();
}
声明类的同时,加上abstract修饰符就是抽象类
注意:能修饰类的只有public,final,abstract,并且final和abstract不能同时出现
声明方法的时候,加上abstract修饰符,并且去掉方法的大括号,同时结尾加上分号,该方法就是抽象方法。
特点及作用
抽象类不能使用new关键字去创建对象,抽象类是用来被子类继承的。
抽象方法只有方法的声明,没有方法的实现,他是让子类去实现的。子类继承抽象类后,必须实现抽象类中所有的抽象方法,否则子类也必须声明为抽象类。
抽象类也是有构造器的,而且子类被实例化的时候构造器也会被调用。
public class Test {
public static void main(String[] args) {
new A();
}
}
abstract class Action{
public Action(){
System.out.println("Action构造器");
}
}
class A extends Action{
}