Java多态八:接口中的默认方法;接口中的静态方法;接口应用中的常见问题
1.为什么需要默认方法
设想这样一种情况:有接口InterA,其中有两个方法a()和方法b();类ClassB实现了接口InterA,但对于类ClassB其并不需要实现方法b();(或是说,对于类ClassB来说,方法b()不是必须的。即,在类ClassB即不想实现方法b(),又不想让自己成为抽象类);
这个时候,只需在接口InterA中,将方法b()设置为默认方法即可:其中需要用到default关键字
且:默认方法必须带有方法体:
注:(1)调用默认方法时,可以:使用接口引用指向实现类实例对象的引用去调用;也可以实现类变量指向实现类实例对象的变量去调用。
(2)实现类中,可以重写默认方法,也可以不重写默认方法
2.接口中的静态方法
自然接口中的静态方法无法在实现类中重写;可以通过“接口名.”的方式调用接口中的静态方法。
3.接口应用中的常见问题
(1)在一个Java文件可以存在多个类、多个接口,但是只能存在一个public修饰的类或接口,且此Java文件名需要与public修饰的类或接口同名:
否则会报错。
(2)
(3)