前言
简单了解Java的接口
一、抽象类
有规范、有实现。
abstract class A{
int a;
abstract void get();
public void method(){
System.out.println("method");
}
}
class B extends A{
@Override
void get() {
System.out.println("实现get方法");
}
}
二、接口
接口是纯规范,但JDK8增加了默认方法和静态方法。
1、接口
interface C{
public static final int a = 1;//接口的变量都是public static final的
public abstract void method();//接口的方法规范都是public abstract 的
}
2、默认方法
interface C{
public static final int a = 1;//接口的变量都是public static final的
public abstract void method();//接口的方法规范都是public abstract 的
default void moren(){
System.out.println("接口默认方法实现");
}
}
该默认方法属于对象,如果实现该接口的类,可以重写该方法。
3、静态方法
interface C{
public static final int a = 1;//接口的变量都是public static final的
public abstract void method();//接口的方法规范都是public abstract 的
default void moren(){
System.out.println("接口默认方法实现");
}
public static void staticMethod(){
System.out.println("属于类方法,已实现,属于接口C,类方法不能重写");
}
}
class D implements C{
@Override
public void method() {
System.out.println("实现method方法");
}
@Override
public void moren() {
System.out.println("重写moren方法");
}
public static void staticMethod(){
System.out.println("属于类方法,已实现,属于类D。");
}
public static void main(String[] args) {
C c = new D();
c.moren();
C.staticMethod();
D.staticMethod();
}
}
3、接口多继承
接口不复杂,可以多继承。
interface C{
public static final int a = 1;//接口的变量都是public static final的
public abstract void method();//接口的方法规范都是public abstract 的
default void moren(){
System.out.println("接口默认方法实现");
}
public static void staticMethod(){
System.out.println("属于类方法,已实现,属于接口C,类方法不能重写");
}
}
interface E {
public abstract void fun();
}
interface F extends C,E{
}
参考文献
[1] Java SE 高淇