足球直播网站开发定制怎么利用网站做cpa推广
张小明 2025/12/22 14:30:02
足球直播网站开发定制,怎么利用网站做cpa推广,建设网站思维导图,wordpress换行代码面向对象#xff08;下#xff09;-接口的理解
6.6 接口#xff08;interface#xff09;
概述#xff1a;
- 一方面#xff0c;有时必须从几个类中派生出一个子类#xff0c;继承它们所有的属性和方法#xff0c;但是#xff0c;Jvava不支持多重继承。有了几口#…面向对象下-接口的理解6.6 接口interface概述- 一方面有时必须从几个类中派生出一个子类继承它们所有的属性和方法但是Jvava不支持多重继承。有了几口就可以通过多重实现得到多重继承的效果。- 另一方面有时必须 从几个类中抽取出一些共同的行为特征而他们之间又没有is-a的关系仅仅是具有相同的行为特征而已。例如鼠标、键盘、打印机灯都支持USB连接。- 接口就是规范定义的是一组规则体现了现实世界中“如果你是/要…则必须能…”的思想。继承是一个“是不是”的关系而接口实现则是“能不能”的关系. 如黄种人是人类黄种人能吃饭、睡觉狗也能吃饭睡觉那么黄种人可以继承人类实现吃饭、睡觉等接口。-接口的本质是契约标准规范就像我们的法律一样。制定好后大家都要遵守。如打印机能使用USB则打印机必须遵守USB的规范使用统一的USB端口和协议。- 接口和类是并列的关系。面向对象下接口的定义与使用接口的使用- a、接口使用interface定义- b、java中接口和类是并列的两个结构- c、如何定义接口定义接口中的成员- - JDK7及以前in定义全局常量和抽象方法- -全局常量public static final书写时可以省略- -抽象方法public abstract书写时可以省略- - JDK8及以后除了定义全局常量和抽象方法之外还可以定义静态方法、默认方法- d、接口中不能定义构造器意味着接口不可以实例化- e、java开发中接口通过让类实现implements方式来使用- - 如果实现类覆盖了接口的所有抽象方法则此实现类可以实例化。- - 如果实现类未覆盖接口的所有抽象方法则此实现类为抽象类。- f、java类可以实现多个接口 弥补了java单继承的局限性- - 格式class AA extends BB implements CC, DD, EE- g、接口与接口之间可以继承而且可以多继承- - 格式Interface AA extends BB, CC {}- h、接口的具体使用体现了多态性- i、接口实际上可以看做是一种规范- j、接口的主要用途就是被实现类实现。面向接口编程publicclassInterfaceTest{publicstaticvoidmain(String[]args){PlanplannewPlan();plan.fly();// 以7900速度起飞plan.stop();// 以1速度减速停止FlyflynewPlan();// 展示接口的多态fly.fly();// 以7900速度起飞fly.stop();// 以1速度减速停止}}// 某某能飞interfaceFly{publicstaticfinalintMAX_SPEED7900;// 最快速度intMIN_SPEED1;// 省略public static final 最慢速度publicabstractvoidfly();// 开始飞voidstop();// 省略public abstract 停下来}// 飞机能飞classPlanimplementsFly,AA{// 类可以继承或多继承接口Overridepublicvoidfly(){System.out.println(以Fly.MAX_SPEED速度起飞);}Overridepublicvoidstop(){System.out.println(以Fly.MIN_SPEED速度减速停止);}}interfaceAA{}interfaceBB{}interfaceCCextendsAA,BB{}// 接口可以继承或多继承接口面向对象下创建接口匿名实现类的对象对标匿名类的对象。publicstaticvoidmain(String[]args){// 接口的非匿名实现类对象PlanplannewPlan();plan.fly();// 以7900速度起飞plan.stop();// 以1速度减速停止// 接口的非匿名实现类对象FlyflynewPlan();// 展示接口的多态fly.fly();// 以7900速度起飞fly.stop();// 以1速度减速停止// 接口的非匿名实现类的匿名对象Plan类实现了接口Fly且这个对象没有名字。newPlan().fly();// 接口的匿名实现类的非匿名对象接口的实现类没名字但是对象有名字。Flyfly1newFly(){Overridepublicvoidfly(){}Overridepublicvoidstop(){}};// 接口的匿名实现类的匿名对象接口没有实现类对象也没名字。newFly(){Overridepublicvoidfly(){}Overridepublicvoidstop(){}}.fly();}