范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

接口是什么(java接口是干什么用的)

  引
  对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。
  那么,java中抽象类和接口的区别是什么?本文我们将详解Java中接口和抽象类的区别。
  抽象类:Java中被abstrac关键字修饰的类称为抽象类,被abstract关键字修饰的方法称为抽象方法,抽象方法是特殊的方法:只有声明,没有具体实现。例如:package com.yiyi.vx.test;  //  抽象类 public abstract class Demo {     //  抽象方法     public abstract void method1(); }
  如果一个类中含有抽象方法,那么这个类一定是抽象类,且必须由abstract关键字对类进行修饰。java语法规定抽象类不能被实例化
  ---得到结论A.抽象类不能被实例化
  刚刚也有提到,当一个类中含有抽象方法时,那这个类一定是抽象类。但是抽象类不一定含有抽象方法。
  ---得到结论B.包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;
  没有抽象方法的抽象类有啥作用呢?
  无抽象方法的抽象类HttpServlet源码如下所示:public abstract class HttpServlet extends GenericServlet {          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         String protocol = req.getProtocol();         String msg = lStrings.getString("http.method_get_not_supported");         if (protocol.endsWith("1.1")) {             resp.sendError(405, msg);         } else {             resp.sendError(400, msg);         }      }      protected long getLastModified(HttpServletRequest req) {         return -1L;     }      protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         if (DispatcherType.INCLUDE.equals(req.getDispatcherType())) {             this.doGet(req, resp);         } else {             NoBodyResponse response = new NoBodyResponse(resp);             this.doGet(req, response);             response.setContentLength();         }      }      protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         String protocol = req.getProtocol();         String msg = lStrings.getString("http.method_post_not_supported");         if (protocol.endsWith("1.1")) {             resp.sendError(405, msg);         } else {             resp.sendError(400, msg);         }      }      protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {         String protocol = req.getProtocol();         String msg = lStrings.getString("http.method_put_not_supported");         if (protocol.endsWith("1.1")) {             resp.sendError(405, msg);         } else {             resp.sendError(400, msg);         }     }     ..... }
  可以看出,它的默认方法均为非抽象方法。但它却是实实在在以abstract修饰的抽象类。这么做,就可以让它的子类在继承后,选择性的去复写抽象类的方法,这样就更加灵活和便捷,不需要复写的方法就不会在子类进行一个复写操作。
  从这里可以看出,抽象类本身就是为了继承而存在的,如果创建了抽象类而不去继承它复写它的方法的话,那么这个抽象类就白创建了。
  ---得到结论C.抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;
  抽象类还有两个其他特性:
  D.一个子类继承一个抽象类,则子类必须实现父类抽象方法,否则子类也必须定义为抽象类;
  E.抽象类可以包含属性、方法、构造方法,但是构造方法不能用于实例化,主要用途是被子类调用
  接口:Java中接口使用interface关键字修饰,特点为:
  a、接口可以包含变量、方法;变量被隐式指定为public static final,使用private修饰编译器会报错。而方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private、protected、static、 final等修饰会报编译错误),并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法
  b、接口支持多继承,即一个接口可以extends多个接口,间接的解决了Java中类的单继承问题;
  c、一个类可以实现多个接口;
  d、JDK1.8中对接口增加了新的特性:(1)、默认方法(default method):JDK 1.8允许给接口添加非抽象的方法实现,但必须使用default关键字修饰;定义了default的方法可以不被实现子类所实现,但只能被实现子类的对象调用;如果子类实现了多个接口,并且这些接口包含一样的默认方法,则子类必须重写默认方法;(2)、静态方法(static method):JDK 1.8中允许使用static关键字修饰一个方法,并提供实现,称为接口静态方法。接口静态方法只能通过接口调用(接口名.静态方法名)。
  如下例子所示:public interface Person{   public static final int a=10;   //JDK1.8     default void sayHello(){         System.out.println("Hello World");     }     public void say(); } public abstract class Person{   public abstract void say();   public void eat(){}; }
  如上述代码所示:
  接口只能是功能的定义,而抽象类既可以为功能的定义也可以为功能的实现。
  接口与抽象类的区别
  相同点
  (1)都不能被实例化 (2)接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能实例化。
  不同点
  (1)接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。
  (2)实现接口的关键字为implements,继承抽象类的关键字为extends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。
  (3)接口强调特定功能的实现,而抽象类强调所属关系。
  (4)接口成员变量默认为public static final,必须赋初值,不能被修改;其所有的成员方法都是public、abstract的。抽象类中成员变量默认default,可在子类中被重新定义,也可被重新赋值;抽象方法被abstract修饰,不能被private、static、synchronized和native等修饰,必须以分号结尾,不带花括号。

小飞扬草?(飞扬草的作用有哪些?)小飞扬草?(飞扬草的作用有哪些?)飞扬草路边多的是,它的用途原来一直被忽视飞扬草在南方非常常见,野地里有很多这种草,大家应该见过但是不知道它的名字而已。飞扬草的作用还是很多的,这里怎么开除员工(用人单位开除员工)企业为了发展,需要优化人员配置,免不了要辞退一部分达不到要求的员工,但是一旦操作不好,很容易造成违法辞退,结果就是需要支付员工高额的经济赔偿金。那么,如何才能合法有效辞退员工,下面他们来了(他们来了僵尸防御下载)他们来了(他们来了僵尸防御下载)他们来了(WhenTheyArrived)是一款开放世界生存冒险类游戏。玩家将扮演去往祖父农场的小鲜肉,却不慎目睹了外星人降临的奇观,可惜的是他们并老式水表怎么看(家用水表怎么看)老式水表怎么看(家用水表怎么看)过去使用老式水表,都是人工上门抄表,抄水表曾经被认为是一项技术活,尤其是老式的指针式水表更难查看。老式水表怎么看?老式水表是纯指针,每个指针周围都有中国海油质量怎么样(中国海油到底好不好)21世纪经济报道记者彭强北京报道相较于一年前的萧条景象,如今的原油价格已经显著回升。产油国减产加持以及各国经济的复苏,都使得油气市场呈现出不一样的红火。8月19日晚间,海上油气巨头難言之隱全集漫画韩漫阅读难言之隐又廷资源下文自取(难言之隐)的漫画哪里看?徽加好友搜索到1425739638(不是供重浩)简介平凡的國考生又廷有個無法向別人提起的致命缺點,那就是hellip他有嚴重的早洩問題!無法滿足自己的正妹今日废纸价北戴河,北戴河官网烟草局出价单,点击价格行情即可查看方法关注废品之家微信公众号也可直接查看方法下载app手机客户端。T2紫铜排。9200吨合肥市废钢铁破碎材塑料天津锵远再生8000,黄页,196开户湖南5A级景区现魔性黄盖雕像具体怎么回事近日有关于湖南5A级景区现魔性黄盖雕像的问题受到了很多网友们的关注,大多数网友都想要知道湖南5A级景区现魔性黄盖雕像的具体情况,那么关于到湖南5A级景区现魔性黄盖雕像的相关信息,小iphone7多少寸(iphone7p机身多少寸)PConline资讯苹果公司本周早些时候宣布iPhone7Plus已经全球售罄,所以至今在苹果中国官网上还是不能预约到店购买iPhone7Plus的。而在之前的iPhone6以及6见微知著的著是什么意思(名岂文章著的著是什么意思)万象更新一切事物或景象都变得面貌一新。万象,宇宙间的一切事物或景象。万不得已实在没有办法不得不这样。截然不同事物之间界限分明,完全不一样。张灯结彩张挂彩灯彩带等,形容场面喜庆热闹。彳亍是什么梗(彳亍口巴是骂人的么)接着我们的说文解字课程,今天讲540部中的彳部部首汉字彳。今天文章不长,冲着标题中的问题来的同学,请耐心读完。部首汉字相当重要,所以要讲字形,甲骨文和金文中并没有彳字,但显然彳是由
2020年最具幸福感城市公布(最幸福感城市排名)2020年最具幸福感城市公布(最幸福感城市排名)南宁人,你幸福吗?央视财经节目中国美好生活大调查(20202021)发现,2020年幸福感最强的十大省会城市和直辖市计划单列市是厦门昆明哪里玩(昆明夜晚哪里好玩)编者按昆明市出台的关于支持实体经济发展的若干措施中提出,要在市县城区和旅游景区全面启动夜间经济布局,打造10个以上夜间经济集聚区,持续繁荣夜间经济。昆明发布推出昆明夜太美不止烟火气昆明站是哪个站(昆明北京路火车站是哪个站)中国首列带酒吧的列车丽江大理双层火车丽江到大理双层卧室火车我又刷新了认知买火车票的时候买一人软包三百多块钱可以带三个人的票也可以随便买个软座的票上车补票超级划算独立包房列车上还带酒今日工地一日游价格(国内一日游)年藏历新年是3月3日。制图申佳平今日,西安兵马俑一日游攻略西安兵马俑一日游景点的景点很经典的。国内游市场短期波动长期向好。之前他有报名过的这家西安当地的旅行社的旅游团去西安兵马俑一金城是哪里(从此烟雨落金城)位于西北的甘肃省,很多人的印象中可能是一个比较干旱,贫穷,资源匮乏,经济落后的地方。其实这只是对甘肃这个地方的一个片面认识,作为中国历史曾经最辉煌的省份之一,甘肃不仅历史文化优秀,平沙是哪里(平沙镇人口)珠海市,经济特区,濒临南海,东与香港,南与澳门陆地毗邻,土地面积为1736。46平方公里,辖3个行政区5个经济功能区,截至2019年末,全市常住人口202。37万人。其中,3行政区峡山在哪里(广东省汕头市潮南区峡山镇)今天是我国第22个记者节。为庆祝这一特殊行业性节日,11月8日,由中共汕头市潮南区委宣传部主办的砥砺奋进振兴路和美富裕潮南行潮南区庆祝第22个记者节活动在潮南区峡山大溪碧道举行。近北口在哪里(深圳北站进站口示意图)市民朋友可乘坐港铁深圳4号龙华线和深圳地铁5号环中线这两条线路即可,前往深圳北站搭乘高铁出行。深圳地铁线路图概览深圳北站地铁站出入口信息A出口连接公交车站留仙大道B出口连接商业区上中山市是哪个省(中山为什么这么穷)中山市,位于珠江三角洲中部,北接广州市和佛山市,西邻江门市,东南连珠海市,与深圳市和香港相望,属于珠三角地区的核心位置,地位区位优势明显。也是广东最早进行改革开放的第一批城市,之前青城山是哪里(成都青城山属于哪个区)漫漫江水分流成就千古大堰,悠悠青山掩映座座闲适茶寮。很多人都羡慕成都人,不仅拥有时尚现代的城市风景,驱车1个小时就能解锁美好的山地风光,追逐诗和远方的惬意。本期神雕侠旅就带大家前往上海齿科(上海牙科医院排名前十)上海齿科(上海牙科医院排名前十)是智齿,上海人叫尽根牙,学名是第三磨牙。60人类的牙槽骨里都有我的存在。不过,很多人直到多年之后因为牙齿问(tng)题(tng)才会发现我的存在。在