一、抽象类是什么?
随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父
类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类
二、如何使用
1)用abstract关键字来修饰一个类,这个类叫做抽象类。
2)用abstract来修饰一个方法,该方法叫做抽象方法。
抽象方法:只有方法的声明,没有方法的实现。以分号结束:
比如:public abstract void talk();
3)含有抽象方法的类必须被声明为抽象类。
4)抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重
写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍
为抽象类。
5)不能用abstract修饰变量、代码块、构造器;
6)不能用abstract修饰私有方法、静态方法、final的方法、final的类。
三、抽象类举例
代码示例:
abstract class A {
abstract void m1(); 抽象类举例
public void m2() {
System.out.println("A类中定义的m2方法");
}
}
class B extends A {
void m1() {
System.out.println("B类中定义的m1方法");
}
}
public class Test {
public static void main(String args[]) {
A a = new B();
a.m1();
a.m2();
}
}
总结
抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类
Java允许类设计者指定:超类声明一个方法但不提供实现,该方法的实现由子类提供。这样的方法称为抽象方法。有一个或更多抽象方法的类称为抽象类