接口中的方法分别有以下三种:
1、普通方法:使用default修饰的接口方法,可以拥有方法体,实现类不需要重写,可以被实现类继承,该特性是Java8以后被提出;
2、静态方法:接口中的静态方法和普通类中的一样,是拥有方法体的,静态方法不需要实例化,而接口本身就不支持实例化,从这点来看,静态方法和接口在一起似乎很配;
3、抽象方法:这个不需要解释。
例子:
接口ABC中有三个方法,分别是普通方法A()、静态方法B()和抽象方法C()。
public interface ABC{
default String A(){ return "Hello A!"; }
static String B(){ return "Hello B!"; }
String C();
}
实现类中分别给出了方法A()、B()和C()的调用形式:
1、普通方法:实现类对象.普通方法A();
2、静态方法:接口名.接口静态方法B();
3、抽象方法:实现类对象.抽象方法C()。
public class ABCImpl implements ABC{
@Override
public String C(){ return "Hello C!"; }
public static void main(String args){
ABCImpl abc =new ABCImpl();
System.out.printin(abc.A());
System.out.printin(ABC.B());
System.out.printin(abc.C());
}
}
输出:
Hello A!
Hello B!
Hello C!
Process finished with exit code 0
另外,接口ABC中default修饰的方法可以被其他接口再继承,其他接口的实现类通过实例也可以使用接口ABC中的default修饰方法。
接口ABCInter继承接口ABC:
public interface ABCInter extends ABC{
}
类ABCInterlmpl实现接口ABCInter:
public class ABCInterlmpl implements ABCInter{
@Override
public String C(){ return null; }
public static void main(Stringlargs){
ABCInterlmpl abcInter = new ABCInterlmpl();
System.out.printin(abcinter.A());
}
}
结果:
Hello A!
Process finished with exit code 0
注意:接口中的方法不论哪种类型其默认修饰符都为public,可写可不写。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)