一.接口的默认方法
接口的默认方法的价值:当设计了一个接口,若要把接口里面的函数改变了,那使用接口的实现类就要全部重写方法了,这一操作太过麻烦,因此使用了在要更改接口的前面设计默认方法,避免重写
**默认方法的定义格式
public default void method()}
接口中的默认方法的注意事项:
1.默认方法不是抽象方法,可以不用被重写,若要强制重写,去掉default关键字
2.public 可以省略,default不能省略
3.如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对这个方法进行重写**
public interface Inter {
/*默认方法的定义格式,public default void method()}*/
// 接口中的默认方法的注意事项:
// 1.默认方法不是抽象方法,可以不用被重写,若要强制重写,去掉default关键字
// 2.public 可以省略,default不能省略
// 3.如果实现了多个接口,多个接口中存在相同名字的默认方法,子类就必须对这个方法进行重写
public default void show(){
System.out.println("接口中的默认方法");
}
public abstract void method();
}
public class InterImpl implements Inter{
@Override
public void method() {
System.out.println("接口的抽象方法");
}
}
public class Test {
public static void main(String[] args) {
InterImpl ii=new InterImpl();
ii.method();
ii.show();
}
}
二.接口的静态方法
public interface Inter {
//接口中的静态方法不需要重写
public static void show(){
System.out.println("Inter 中的静态方法");
}
public abstract void method();
}
public class InterImpl implements Inter{
@Override
public void method() {
System.out.println("接口中的抽象方法");
}
public static void show(){
System.out.println("类中的抽象方法");
}
}
public class Test {
public static void main(String[] args) {
Inter.show();//接口的静态方法直接用接口名调用
InterImpl.show();//类的抽象方法直接直接用类名调用
}
}
## 三.接口的静态方法
暂无,等补全
四.接口的适配器设计思路
若某个接口有大量的抽象方法,实现类只需要实现接口里的某个函数则需要用到适配器
public interface Inter {
public abstract void method1();
public abstract void method2();
public abstract void method3();
public abstract void method4();
public abstract void method5();
public abstract void method6();
public abstract void method7();
}
package practice7;
public class InterAdapter implements Inter{
//作为接口适配器,实现接口抽象方法的空实现,以便子类的调用
@Override
public void method1() {
}
@Override
public void method2() {
}
@Override
public void method3() {
}
@Override
public void method4() {
}
@Override
public void method5() {
}
@Override
public void method6() {
}
@Override
public void method7() {
}
}
public class InterImpl extends InterAdapter{
// 类只调用接口里的方法5,若直接实现接口则需要重写接口里的全部方法
// 太过繁琐,因此继承一个接口适配器类
// 再重写方法
@Override
public void method5(){
System.out.println("实现方法5");
}
}
public class Test {
public static void main(String[] args) {
InterImpl ii=new InterImpl();
ii.method5();
}
}
文章介绍了Java接口中的默认方法和静态方法的使用,包括默认方法的定义格式、注意事项以及在多接口继承时的处理。同时,提到了接口的静态方法可以直接通过接口名调用。此外,文章还讨论了接口适配器设计模式,用于处理接口中大量抽象方法的情况,通过适配器类提供空实现,简化子类的实现过程。

被折叠的 条评论
为什么被折叠?



