您的位置:首页 > 房产 > 建筑 > 网页微信版官方_新浪舆情通官网_推广软文发稿_培训网址大全

网页微信版官方_新浪舆情通官网_推广软文发稿_培训网址大全

2025/5/6 2:30:34 来源:https://blog.csdn.net/zeijiershuai/article/details/144438398  浏览:    关键词:网页微信版官方_新浪舆情通官网_推广软文发稿_培训网址大全
网页微信版官方_新浪舆情通官网_推广软文发稿_培训网址大全

1. 接口概述

        (1) Java提供了一个关键字 interface,用这个关键字可以定义接口;

        (2)格式: public interface 接口名{

                //成员变量(常量)

                //成员方法(抽象方法)

        }

public interface A {//成员变量(接口默认为常量-public static final)String NAME = "卡莎";//成员方法(接口默认为抽象方法-public abstract)void show();}

2. 接口实现

        (1) 接口不能创建对象;接口是用来实现的(implements),实现接口的类被称为实现类

        (2)格式:修饰符 class 实现类名 implements 接口1, 接口2...{

                                ........

                        }                

        (3) 一个类可以实现多个接口,实现类实现多个接口,必须重写完全部接口的全部抽象方法,否则实现类需要定义成抽象类

//接口B
public interface B {void method();void method2();
}//接口C
public interface C {void m1();void m2();
}//实现类D 实现接口B C 则必须实现全部的抽象方法
public class D implements C,B{@Overridepublic void method() {}@Overridepublic void method2() {}@Overridepublic void m1() {}@Overridepublic void m2() {}
}public static void main(String[] args) {D d = new D();d.m1();d.m2();d.method();d.method2();}

3. 使用接口的好处

        (1) 弥补了类单继承的不足,一个类可以同时实现多个接口。

        (2) 让程序可以面向接口编程,灵活方便的实现业务

4. 接口中新增的三种方法

        JDK8开始,接口中新增的三种方法:增强接口的能力,便于项目的扩展和维护

//接口A
public interface A {/** 第一种方法:默认方法-必须使用default修饰,默认会被public修饰*  有方法体,实例方法:对象的方法,必须使用对象来访问* */default void show(){System.out.println("默认方法");//访问私有方法show2();}/** 第二种方法:私有方法:必须使用private修饰(JDK9开始)* 有方法体,实例方法:对象的方法,可以在本类中的的其他默认方法或私有方法中访问* */private void show2(){System.out.println("私有方法");}/** 第三种方法:静态方法:必须使用static修饰,默认会被public修饰* 有方法体,可以使用接口名.静态方法 来调用 如 A.show3()* */static void show3(){System.out.println("静态方法");}}//类B实现接口A
public class B implements A {}public class Test {public static void main(String[] args) {// 1.默认方法B b = new B();b.show();//3.调用静态方法A.show3();}
}

5. 接口的多继承

        一个接口可以同时继承多个接口:便于实现类实现

        格式: public interface C extends B,A{.....}

public interface A {void method();
}public interface B {void method2();
}public interface C {void method3();
}public interface D extends A,B,C{}public class E implements D{//重写接口A中的抽象方法@Overridepublic void method() {}//重写接口B中的抽象方法@Overridepublic void method2() {}//重写接口C中的抽象方法@Overridepublic void method3() {}
}

6. 接口使用的注意事项

        (1) 一个接口继承多个接口,如果多个接口中存在方法名冲突,则此时不支持多继承

        (2) 一个类实现多个接口,如果多个接口中存在方法名冲突,此时不支持多实现

        (3) 一个类继承了父类,又同时实现了接口,父类中和接口中用同名的默认方法,实现会优先使用父类的

        (4) 一个类实现类多个接口,多个接口中存在同名的默认方法,可以不冲突,这个类重写该方法即可

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com