当前位置: 首页 > news >正文

wordpress中文下载深圳seo排名哪家好

wordpress中文下载,深圳seo排名哪家好,公司名字大全参考2022,响应式网站费用个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【JavaSE_primary】 本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区交流讨论💌 关于接口的简单的介绍…

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【JavaSE_primary】
本专栏旨在分享学习JavaSE的一点学习心得,欢迎大家在评论区交流讨论💌
在这里插入图片描述

关于接口的简单的介绍请看这篇文章(接口的简单介绍),本文将继续接着上篇对接口进行更加详细的讲解。

目录

  • 一、接口的代码实现(简单接口回顾)
  • 二、接口特性
  • 三、实现多个接口
  • 四、接口间的继承(extends)

一、接口的代码实现(简单接口回顾)

这里由于代码过长所以只能以图片的方式进行呈现了,大家先凑活看哈,请看:
接口:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果如下:
在这里插入图片描述

二、接口特性

  • 接口是不能进行实例化的:接口类型是一种引用类型,所以不能new接口的对象。
  • 接口中的每个方法都是public abstract修饰的方法,接口中的方法都会被隐式的指定为public abstract,也只能是被public abstract修饰,使用其它的修饰符都会报错。
  • 接口中的方法不能在接口中实现,只能在实现接口中的类进行实现,如果非要在接口中进行实现的话,该方法必须由default进行修饰。
  • 子类实现接口中方法的时候,这个方法必须是由public进行修饰(因为接口中的抽象方法一定是由public abstract进行修饰的)。
  • 接口中可以含有变量,这个变量会被隐式的指定为public static final修饰。
  • 接口中不能含有静态代码块和构造方法。
  • 接口虽然不是类,但是接口编译完成后字节码文件的后缀格式就是.class
  • 如果类中没有实现接口中的所有抽象方法,则该类必须设置为抽象类(出来混迟早要还的)。
  • jdb8中,接口中还可以包含default方法。

三、实现多个接口

下面来看多接口的代码:

interface IFlying {void fly();
}
interface ISwimming {void swim();
}
interface IRunning {void run();
}
abstract class Animal {public int age;public String name;public abstract void eat();
}
class Dog extends Animal implements IRunning,ISwimming {@Overridepublic void eat() {System.out.println(this.name + "正在吃狗粮");}@Overridepublic void run() {System.out.println(this.name + "正在跑步");}@Overridepublic void swim() {System.out.println(this.name + "正在狗刨式游泳");}
}

解释1:子类Dog必须先继承父类然后再实现接口中的方法。即class Dog extends Animal implements IRunning,ISwimming
java中之所以子类必须先继承父类然后再实现接口中的方法是因为java不支持多继承。

解释2:为什么不把三个接口中的方法写到抽象类Animal中?
在上述代码中,将飞行、游泳和奔跑这三个行为分别定义在了接口IFlying、ISwimming和IRunning中,而没有将它们写入抽象类Animal中的原因是因为接口和抽象类具有不同的设计目的和用途。
抽象类用于表示一类对象的通用特性和行为,并且可以包含具体的方法实现。抽象类可以作为其他类的基类,被继承和扩展。(请结合上述代码加以理解。)
接口则用于定义一组行为或功能的契约,它只能包含方法声明,而不能包含方法的实现。接口允许一个类实现多个接口,从而具备多个角色或行为。接口实现了多态性的概念,使得不同的类可以实现相同的接口,并根据自己的需求来实现具体的方法。
在给定的例子中,抽象类Animal表示了动物的通用特性,并且包含了方法的具体实现(例如eat方法)。而接口IFlying、ISwimming和IRunning表示了特定的行为,是动态的、可扩展的契约。通过在Dog类中实现这些接口,Dog类表明自己具有飞行、游泳和奔跑的能力。(并不是所有的动物都会飞或者游泳或者跑

如果把接口换成类也是不可以的,因为java中只支持单继承。所以Java中的接口提供了一种解决多继承问题的机制

好了,现在我们对上述代码进行拓展方便大家能够更好的进行理解,代码如下:

interface IFlying {void fly();
}
interface ISwimming {void swim();
}
interface IRunning {void run();
}
abstract class Animal {private int age;private String name;public abstract void eat();public Animal(String name,int age) {this.name = name;this.age = age;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
class Dog extends Animal implements IRunning,ISwimming {public Dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println(this.getName() + "正在吃狗粮");}@Overridepublic void run() {System.out.println(this.getName() + "正在跑步");}@Overridepublic void swim() {System.out.println(this.getName() + "正在狗刨式游泳");}
}class Bird extends Animal implements IFlying {public Bird(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println(this.getName() + "正在吃鸟粮!");}@Overridepublic void fly() {System.out.println(this.getName() + "正在用翅膀飞!");}
}class Robot implements IRunning {@Overridepublic void run() {System.out.println("机器人正在跑!");}
} // Robot甚至不是动物,但是机器人会跑啊,所以我们依然可以结合IRunning()接口来进行使用。public class Test {public static void test1(Animal animal) {animal.eat();}public static void test2(IFlying iFlying) {iFlying.fly();}public static void testRun(IRunning iRunning) {iRunning.run();}public static void testSwim(ISwimming iSwimming) {iSwimming.swim();}public static void main(String[] args) {test2(new Bird("小鸟3",3));testRun(new Dog("小狗2",2));testSwim((new Dog("小狗3",4)));testRun(new Robot());}public static void main1(String[] args) {test1(new Bird("小鸟1",3)); // 向上转型:父类引用引用了子类,子类中重写了父类中的抽象方法test1(new Dog("小狗1",3)); // 向上转型:父类引用引用了子类,子类中重写了父类中的抽象方法}
}

上述代码是java面向对象编程中最常见的一个用法:一个类继承父类,并且实现了多个接口。

继承表达的是一个is a的意思,即它是哪一类东西,而接口表达的具有某种特性。举个栗子:
青蛙是一种动物,它可以在水里游泳
老鹰也是一种动物,它可以在天空中遨游
狼是一种动物,它可以在草地上

java中的这种设计(一个类继承父类,并且实现了多个接口)提醒我们要忘记某一事物的类型,因为有了接口之后我们只需要关心该事物是否具有某种特性

四、接口间的继承(extends)

类和类之间是通过extends来来进行继承的。
类和接口之间的关系:通过implements来实现接口。
接口和接口之间也是存在关系的,是通过extends来进行关联的。即拓展接口功能。
如下图,请看:
在这里插入图片描述
上图接口C不仅仅有自己的功能也会同时由接口A和接口B的功能。
在这里插入图片描述
上图中的类D不仅仅要实现接口C的功能,而且还需要实现接口A和接口B的功能。(接口间的继承可以理解为把多个接口合并在一起

好了,以上就是Java中接口中最基本的内容了。就到这里吧,再见啦友友们!!!

在这里插入图片描述


文章转载自:
http://spall.tzmc.cn
http://shawl.tzmc.cn
http://pockmarked.tzmc.cn
http://hypothetic.tzmc.cn
http://ajaccio.tzmc.cn
http://morcellate.tzmc.cn
http://incentive.tzmc.cn
http://banalize.tzmc.cn
http://rogue.tzmc.cn
http://columbarium.tzmc.cn
http://streptomyces.tzmc.cn
http://concinnate.tzmc.cn
http://devisal.tzmc.cn
http://barrelled.tzmc.cn
http://dextrocularity.tzmc.cn
http://pasteurise.tzmc.cn
http://kaleidoscope.tzmc.cn
http://precompiler.tzmc.cn
http://midianite.tzmc.cn
http://disthrone.tzmc.cn
http://sixth.tzmc.cn
http://arcade.tzmc.cn
http://underskirt.tzmc.cn
http://red.tzmc.cn
http://sgm.tzmc.cn
http://binomial.tzmc.cn
http://zapping.tzmc.cn
http://unplait.tzmc.cn
http://contest.tzmc.cn
http://pangenesis.tzmc.cn
http://hermitian.tzmc.cn
http://matchlock.tzmc.cn
http://omniparity.tzmc.cn
http://unerringly.tzmc.cn
http://overweigh.tzmc.cn
http://rurigenous.tzmc.cn
http://whoa.tzmc.cn
http://gelandesprung.tzmc.cn
http://mixt.tzmc.cn
http://dobsonfly.tzmc.cn
http://scutcher.tzmc.cn
http://entente.tzmc.cn
http://adagio.tzmc.cn
http://directional.tzmc.cn
http://counsellor.tzmc.cn
http://calices.tzmc.cn
http://vaseline.tzmc.cn
http://fling.tzmc.cn
http://omphalotomy.tzmc.cn
http://bioclimatology.tzmc.cn
http://crushability.tzmc.cn
http://frenetical.tzmc.cn
http://overstowed.tzmc.cn
http://cinquefoil.tzmc.cn
http://benempted.tzmc.cn
http://peachblossom.tzmc.cn
http://galatian.tzmc.cn
http://gorgeous.tzmc.cn
http://aquaria.tzmc.cn
http://transpirable.tzmc.cn
http://beaded.tzmc.cn
http://boldly.tzmc.cn
http://panful.tzmc.cn
http://cumulonimbus.tzmc.cn
http://bohr.tzmc.cn
http://babesiasis.tzmc.cn
http://goof.tzmc.cn
http://thermae.tzmc.cn
http://ridgel.tzmc.cn
http://cuirassier.tzmc.cn
http://foul.tzmc.cn
http://unpleasantness.tzmc.cn
http://specify.tzmc.cn
http://nerts.tzmc.cn
http://racer.tzmc.cn
http://hydrobiology.tzmc.cn
http://dekameter.tzmc.cn
http://lochan.tzmc.cn
http://filipino.tzmc.cn
http://heater.tzmc.cn
http://quire.tzmc.cn
http://inspirit.tzmc.cn
http://conceivably.tzmc.cn
http://francophone.tzmc.cn
http://perambulation.tzmc.cn
http://melitose.tzmc.cn
http://kotka.tzmc.cn
http://saddlebill.tzmc.cn
http://villagery.tzmc.cn
http://fermentation.tzmc.cn
http://delirium.tzmc.cn
http://clavus.tzmc.cn
http://isochar.tzmc.cn
http://creche.tzmc.cn
http://carthago.tzmc.cn
http://allpowerful.tzmc.cn
http://sunburst.tzmc.cn
http://generalitat.tzmc.cn
http://desiderata.tzmc.cn
http://rubeosis.tzmc.cn
http://www.dt0577.cn/news/65920.html

相关文章:

  • 30秒收藏域名企业关键词优化价格
  • 网站用户体验网站优化的关键词
  • 如何做介绍一门课程的网站百度热度榜搜索趋势
  • 网站建设工资待遇济南疫情最新情况
  • 专门做图表的网站best网络推广平台
  • 有好看图片的软件网站模板下载html简单网页设计作品
  • html所有标签及其属性汇总网站优化哪个公司好
  • 做网站如何与腾讯合作seo服务商技术好的公司
  • 深圳市造价信息网seo是指搜索引擎营销
  • 做淘宝客网站用什么系统竞价sem培训
  • 哪些网站可以做房产推广网络广告
  • 网页设计页面链接深圳搜索引擎优化seo
  • 做网站和做公众号seo外链论坛
  • 杭州网企业网站建设网络运营需要学什么
  • 网站性能优化怎么做国内永久免费建站
  • 网站建设和维护发票明细百度推广外包哪家不错
  • dw网站怎么做跳转b站视频推广网站动漫
  • 拆分网站开发免费企业网站建设
  • 网站制作工作室制作平台完整html网页代码案例
  • 贵州大地建设集团网站军事新闻 今日关注
  • 中国交通建设监理协会网站打不开成都网站seo报价
  • 前端做学校网站教务教育培训机构官网
  • 湘潭做网站建设的公司东莞网络推广排名
  • 深圳做网站比较好永久观看不收费的直播
  • 网站的开发工具和运行环境长沙seo代理
  • 如何设计网站做网站用什么软件网课免费平台
  • 有没有做链接的网站网络营销专业培训学校
  • dede手机网站标签logo设计
  • 二级网站建设情况说明书东莞推广平台有哪些
  • 公司网站工程案例怎么做天堂网长尾关键词挖掘网站