1、抽象类
什么是抽象类
· 类和类之间有着共同的特征,把这些共同的特征提取到一起就是抽象类。
· 抽象类本身是不存在的,所以没有办法创建对象。(也就是没办法实例化)
public class abstract{
public static void main(String[] args){
}
}
//这是一个动物抽象类
abstract class animal{
//这是抽象类中的抽象方法
public abstract void move();//抽象函数。需要abstract修饰并且以分号结尾
public abstract void sing();//抽象函数。需要abstract修饰并且以分号结尾
public abstract void fly();//抽象函数。需要abstract修饰并且以分号结尾
}
//这是一个鸟类,也是一个非抽象类
//这里的move是抽象类中move方法的具体实现
class bird extends animal{
public void move{
System.out.println("鸟会飞");
}
}
class dog extends animal{
public void move{
System.out.println("狗会跑");
}
}
· 抽象类可以让其具有扩展性
· 抽象类的作用在于对自身进行初始化,供其子类使用。
· 只有覆盖了抽象类中所有的抽象方法后,其子类才可以实例化。如果存留未实现的抽象方法则该子类仍为一个抽象类,无法创建对象。
2、接口
定义
在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多继承。
java接口
接口的定义语法:
[修饰符列表] interface 接口名{
}