抽象程度
接口比抽象类的抽象程度更高
方法
接口中的方法都是默认都是public的,且不能用其他权限,除了static方法可以有实现体外,其他方法都不能有实现体,接口不能有构造方法。
抽象类中的方法可以使用任意的修饰符,如final,private等,可以有构造方法。
域
抽象类中的域,可以用任意修饰词进行修饰。
接口中的域,默认必须是public static final的。
继承
接口可以继承多个接口,不能继承类。
抽象类可以实现多个接口,可以继承其他类。
代码示例
package com.nero.demo;
/**
*
* @author Nero
* @version 2017年7月20日 下午3:34:18
* @summary 测试用抽象类
*/
public abstract class AbstractTest implements InterfaceTest {
private String name;
public AbstractTest(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract void say();
}package com.nero.demo;
/**
*
* @author Nero
* @version 2017年7月20日 下午3:47:54
* @summary 测试用接口
*/
public interface InterfaceTest {
String name = "the name";
void operate();
static void say(String message) {
System.out.println(message);
}
}