96SEO 2026-02-20 03:02 0
接口一、接口是对“行为”的抽象二、接口的定义和使用三、接口中成员的特点四、接口和类之间的关系五、接口中新增的方法5.1

众所周知继承是将子类中的共性抽象提炼到父类中获取整个体系的共性以节省代码但是也存在这样一种情况某一共性绝大部分子类都有但唯独极少部分子类未拥有此特性那么如果把这个共性写进父类继承下来对这些少数子类而言就是不合理的了。
比如猫和狗都会游泳但兔子不会这个时候如果在父类中定义“游泳”的方法兔子继承是不合理的但如果猫和狗分别写自己的游泳方法又有可能发生两个方法书写的格式、命名不一致的情况。
因此我们需要定义一个新概念来约束这两个子类中“游泳”方法的书写规范。
此时我们就可以定义一个“游泳”的接口在接口里定义抽象方法
综上所述接口就是一种规则当我们需要给多个类同时定义规则时就需要用到接口。
接口不代表一类事物接口代表的是一种规则因此接口可以作为参数传递给方法。
“不论来搬家的是货拉三轮哪怕是人力只要他能实现搬家他就有用”。
{}接口不能实例化也就是说接口不能用来创建对象。
接口和类之间是实现关系通过
{}接口的子类实现类要么重写接口中的所有抽象方法要么本身也是一个抽象类。
接口和类的实现关系可以单实现也可以多实现
{System.out.println(青蛙在蛙泳。
);}Overridepublic
{super(name,age);}Overridepublic
{System.out.println(狗在狗刨。
);}Overridepublic
}写兔子类注意只需要继承父类重写抽象方法不需要实现游泳接口不会游泳
{System.out.println(兔子在吃胡萝卜。
);}
Frog(小绿,23);f.eat();f.swim();System.out.println(f.getName()
24);d.eat();d.swim();System.out.println(d.getName()
30);r.eat();System.out.println(r.getName()
修饰就是不写也自动认为是这样。
构造方法接口没有构造方法。
成员方法JDK7以前只能是抽象方法默认修饰符为
abstractJDK8以后接口中可以定义有方法体的方法JDK9以后接口中可以定义私有方法。
类和类的关系继承关系——只能单继承不能多继承但可以多层继承。
类和接口的关系实现关系——可以单实现也可以多实现还可以在继承一个类的同时实现多个接口。
接口和接口的关系继承关系——可以单继承也可以多继承。
1.类在实现接口时要么实现接口中所有的抽象方法要么这个类本身也是一个抽象类。
2.类可以多实现接口如果多实现需要把所有要实现接口的抽象方法都实现。
3.接口可以多继承如果一个子接口继承了多个接口然后被一个实现类实现那么这个实现类就要把这个子接口和他的所有父接口中的所有抽象方法全部实现。
oopInterExp;//因为直接创建顶层父类人的对象是没有意义的
}//PingPongSporter继承Sporter实现SpeakEnglish
{System.out.println(学习乒乓球。
);}Overridepublic
{System.out.println(乒乓球运动员在说英语。
);}
}//PingPongCoach继承Coach实现SpeakEnglish
{System.out.println(教乒乓球。
);}Overridepublic
{System.out.println(乒乓球教练在说英语。
);}
JDK8新增的特性是接口中可以定义有方法体的方法可以定义默认方法或静态方法。
接口中定义有方法体的方法主要是为了接口升级考虑的接口不可能是一成不变的需要往里面添加新的方法来升级如果这些方法都是抽象方法此时实现类中就需要同时也实现这些方法非常麻烦且不容易同步倘若升级使用的是有方法体的方法那么实现类就不需要额外进行修改了如果需要修改也可以利用重写进行修改。
}默认方法不是抽象方法不强制需要被重写。
但是如果被重写重写的时候要去掉
不可以省略。
如果实现了多个接口多个接口中存在相同名字的默认方法那么子类就必须对该方法进行重写了不重写会引起冲突。
{System.out.println(Inter1接口中的默认方法);}
{System.out.println(Inter2接口中的默认方法);}
}两个默认方法同名如果实现类同时实现这俩接口一定需要重写这个默认方法
{System.out.println(抽象方法的实现);}Overridepublic
{System.out.println(重写接口中的默认方法);}
静态方法只能通过接口名调用不能通过实现类名或对象名调用。
public
{System.out.println(接口中的静态方法);}
}写一个实现类类里面还有一个静态方法与接口里面的方法同名但这不是重写因为静态方法是不能被重写的
{System.out.println(重写接口中的抽象方法);}//这不叫重写public
{System.out.println(我不是重写的Inter接口中的静态方法);}
//重写接口中的抽象方法Inter.static_method();
//调用接口中的静态方法InteImpl.static_method();
{System.out.println(show1开始执行);show3();}public
{System.out.println(show2开始执行);show3();}//普通的私有方法给默认方法服务的private
{System.out.println(记录程序在运行过程中的各种细节这里有100行代码。
);}
{System.out.println(show1开始执行);show3();}public
{System.out.println(show2开始执行);show3();}//普通的私有方法给静态方法服务的private
{System.out.println(记录程序在运行过程中的各种细节这里有100行代码。
);}
1.接口代表规则是行为的抽象。
想要让哪个类拥有一个行为就让这个类实现对应的接口就可以了。
2.当一个方法的参数是接口时可以传递接口所有实现类的对象这种方式称之为接口多态。
是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。
适配器可以用来简化代码避免因为接口中抽象方法过多而我们只需要使用其中一部分的时候造成的不便。
{//我需要用到哪个方法就重写哪个方法就可以了Overridepublic
{System.out.println(只要用第五个方法);}
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback