Java中抽象类和接口的用法和区别

一、抽象类

1、抽象类

包含一个抽象方法的类就是抽象类

2、抽象方法

声明而未被实现的方法,抽象方法必须使用abstract关键词字声明

1
2
3
4
5
6
7
 
public abstract class People { //关键词abstract,声明该类为抽象类
public int age;
public void Num() {
}
public abstract Name(); //声明该方法为抽象方法
}

3、抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法

4、抽象类不能被直接实例化,要通过其子类进行实例化

5、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。

6、子类中的抽象方法不能与父类的抽象方法同名。

7、abstract不能与final并列修饰同一个类。

8、abstract 不能与private、static、final或native并列修饰同一个方法。