1、什么时候使用抽象方法?
当多个类有相同的方法,但方法体不一样,这时候就可以抽取出抽象方法。
2、抽象类和抽象方法的特点
- 抽象方法没有方法体
- 如果一个类有抽象方法,那这个类必须定义为抽象类。
- 抽象类可以有抽象方法和非抽象方法。
- 抽象类不能new对象。
- 继承抽象类,就必须重写抽象类里的所有抽象方法。
3、抽象类的使用:
定义父类为抽象类,包含抽象方法。
子类继承父类,实现父类的所有抽象方法。
4、抽象类和抽象方法的实例:俄罗斯方块
package com.extend.test;
import java.util.Random;
abstract class FangKuai{
abstract void change();
}
class L_FangKuai extends FangKuai{
void change(){
System.out.println("L型方块在变形");
}
}
class YI_FangKuai extends FangKuai{
void change(){
System.out.println("一字型方块在变形");
}
}
class Z_FangKuai extends FangKuai{
void change(){
System.out.println("Z字型方块在变形");
}
}
public class TestExtend {
public static void main(String[] args) {
Random r=new Random();
int number=r.nextInt(3);
FangKuai fang=null; //父类引用
switch(number){
case 0:
fang=new L_FangKuai(); //new子类对象
break;
case 1:
fang=new YI_FangKuai();
break;
case 2:
fang=new Z_FangKuai();
break;
}
fang.change(); //编译父类方法,运行子类方法
}
}
运行结果: