抽象类与抽象方法
-
抽象方法只有方法声明,没有方法实现
-
有抽象方法的类必须声明为抽象类
-
子类必须重写所有的抽象方法才能实例化;否则,子类也必须声明成抽象类
-
抽象类中可以没有,有一个或者多个抽象方法,甚至可以定义全部方法都是抽象方法
-
抽象类可以有构造方法,其构造方法可以被本类的其他构造方法调用
-
不是由private修饰的构造方法,可以被其子类的构造方法调用
-
abstract可以用来修饰类和方法,不能用来修饰属性和构造方法
抽象类
-
abstract关键字修饰的类被定义为抽象类
-
抽象类与普通类的最大区别就是:普通类可以被实例化,而抽象类不能被实例化
抽象方法
-
在Java中,当一个类的方法被abstract修饰时,该方法被称为抽象方法。抽象方法所在类必须是抽象类
-
抽象方法与普通方法最大的区别是:普通方法有方法体,而抽象方法没有方法体
-
public void print(){} //普通方法 public abstract void print(); //抽象方法
-
抽象方法只能定义在抽象类中,但是在抽象类中可以包含抽象方法,也可以包含普通方法,还可以包含普通类包含的一切成员。
Final
-
修饰类,不能被继承
-
修饰方法,不能被重新
-
修饰属性,属性值不能被修改