栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 学习 接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 学习 接口

 一个类只能继承一个类,但一个类实现多个接口

 

 类里实现接口的方法。接口中不能定义构造器,所以不能实例化。

java开发中,用类去实现implement接口,如果实现类覆盖了接口中所有的抽象方法,则此实现类,就可以实例化。实现类没有重写完接口里所有的抽象方法,则此实现类仍为一个抽象类。

  

 后面那个省略了,但其实还是全局常量的定义。不能再赋值。就连方法也可以省略。

接口和接口之间可以继承,而且是多继承。想要实例化,得重写继承过来的所有的抽象方法。

接口如何实现多态性。Flash是实现接口USB的类,这个时候想用computer类的对象的方法,传入的类型要求是USB类型,这个时候就可以将实现类的对象传进去,实现多态。

                               JDBC里面有大量的接口,不同的数据库,数据库driver里都是接口的实现类不同来驱动。然后程序员面向接口编程。接口里传数据库对象,实现多态。

项目的具体需求是多变的,我们必须用不变的规范来应万变。

 

 接口的应用,代理模式。

例如object是租房这件事,实现里写的是我要去租房。proxyObject类是中介,帮我管理租房这件事,会调用我重写的方法。 

        

 server和proxyerver,这俩都是接口的实现类,new ProxyServer(network work),可以传server,因为多态。

非工厂设计模式:创建者和调用者没有分离,看main里,创建和调用在一个类里。

     

简单工厂设计模式:

 

 如果要添加新产品,则需要去CarFactory里增加一个新的IF else,需要修改代码。

缺点:对于增加新产品,不修改代码的话,是无法扩展的,违反了开闭原则。

 

这题排错,把输出语句里super.x 输出父类。如果调用接口里的X,这个时候不要忽略,X是个全局常量,直接A.X就调用了。

左面虚线的是接口,右边是继承。右边如果继承x,先去父类找有没有X,有X直接拿来用,如果没找到,再上一层父类找找到X。

 在接口里声明的对象的是静态全局变量,后面play里不能再赋值了。

JDK8之后,可以定义静态方法和默认方法。非静态的和默认的只能创建实现类的对象进行调用了。

 接口类定义的静态方法只能通过接口来调用,需要重写的是抽象方法,没有抽象方法就不需要重写。如果实现类重写了默认方法,则调用的是重写之后的方法。

如果默认方法,一个实现类继承了父类,父类中的方法3和接口中的方法3的重名了,那调用方法3的时候应该调用哪个的?

这种情况就是subclass extends superclass implement 接口A,B,接口和父类的方法重名,用接口.super.调用。

 

 通过实现类的声明的对象调用里面的默认方法,JAVA8中才有的新特性。

在接口中用default关键字定义接口的默认方法。普通接口方法是不能有实现的,默认方法必须有实现,静态方法也有实现。

实现的两个接口里有同名同参数的的方法,则调用的时候要重写自己的方法。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390110.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号