一、实现不一样
抽象类(abstract class)是子类通过extends这个关键字来继承的,而接口(interface)是使用implements来实现这个接口。
二、构造函数不一样
抽象类是可以具有构造函数的,如下:
//抽象类
package com.learn;
public abstract class AbstractPerson {
public AbstractPerson(){
System.out.println("AbstractPerson构造函数");
}
}
//抽象类的继承类
package com.learn;
public class Person extends AbstractPerson{
public Person(){
System.out.println("Person构造函数");
}
public static void main(String[] args) {
new Person();
}
}
//运行结果
AbstractPerson构造函数
Person构造函数
而接口是不能有的。
三、main方法
抽象类是可以具有main方法的,并且是可以运行的,接口不可以有。
四、实现的数量不一样
类可以实现多个接口,而只能继承一个抽象类。
版权声明:本文为he1810368646原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。