抽象类(abstract)
  • abStract抽象类
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class lei1 extends lei2{
public void add(){
System.out.println("我是一个完整的抽象方法");
}
}
abstract class lei2{ //抽象类
private int no;
abstract void add();//抽象方法
}
public class Lei {
public static void main(String[] args) {
lei1 a = new lei1();
a.add();
}
}
声明一个抽象类
1
2
3
abstract class XXX{  //抽象类

}
声明一个抽象方法
1
abstract void 方法名();//抽象方法,无方法体

接口(interface)
  • 接口里面的方法都是抽象方法
  • 接口不能被继承
  • implements:扩展(使用)某一个
  • 接口被用来扩展功能
  • 接口可以实现多继承
定义一个接口和方法代码
1
2
3
4
interface A{  //定义一个A接口
void method1(); //抽象方法1
void method2(); //抽象方法2
}
扩展某一接口代码
1
2
3
4
5
6
7
8
class B implements A{  //B扩展A接口
public void method1(){
........
} //重写接口里的抽象方法
public void method2(){
.........
}
}

注意
  • abstract抽象类不能构造对象
  • 抽象类的子类是一个完整的类,那么它必须重写抽象类中的所有抽象方法
  • 抽象方法必须在抽象类中
  • 谁使用接口谁去实现抽象方法