接口到底有什么作用?我的理解是接口就是告诉别人能做什么,而不知道怎么做的!但是我从来没有体验过接口给我带来的好处,也许是我体验到了自己却没发觉!所以求大牛们帮忙,给我通俗的解释解释,最好有代码的参照
继承,继承是什么?为什么要继承?怎么算是继承?最好有代码和解释
求助,菜鸟一枚,好多都不理解......只能死硬的去编程
理论我都模糊看懂,但是总是没法理解。我希望不只是单纯的理论解释!!!谢谢
这个东西我想说,有不想说。我当初学也是一头雾水,焦头烂额,一直急切得想搞清楚。
后来随着代码越写越多, 不知不觉,就觉得他们是那么的好理解,那么的有用。
所以,你可以只看下概念,先放放,多写代码吧。
下面是我自己的笔记,你看吧
-------------------------------------------------
接口的作用是什么?
在OOP编程范式中,程序实质是对象与对象之间的相互作用。那么,有些对象之间需要达成公约,以便他们能识别对方。
简而言之,一个类实现了某个接口,就能说明它能做什么 ( can do ) ,或者拥有什么( has ),这样其他对象就能对他进行相应的操作。
你没发现你使用过的好多接口都是xxxable吗,比如Comparable , Iterable Cloneable。
另一方面,java是强类型语言,利用接口还可以实现多态,因为接口在某些时候,我们也可以把它看做是一种 类型。
接口的特点:
1、接口中,方法的修饰符默认是public abstract,字段默认的修饰符是public static final
2、接口不能实例化出对象,接口是用来被其他类实现的(implements),或者被其他接口扩展的(extends)。
3、虽然接口不能实例化,但可以定义接口变量,去引用实现了该接口的类的对象。
---------------------------------------------------------
接口有一个实现类,在实际开发过程中最大好处是,你可以按照设计,先把接口写好,然后分配大伙干活的时候,告诉a们去用写好的接口去实现他们的具体功能,而告诉b们,去写那些已经写好但是没有具体的代码的接口,这样可以提高工作效率。并且底层和应用也通过接口做了一个很明显的分层。总的来说,代码流程更加清晰,工作效率得到提高。
继承是子类继承父类,可以有多个子类,继承的关键字 extends,比如打印机是个父类,子类就可以继承父类并且自己可以为黑白打印机、彩色打印机、各类打印机。继承可以减少重复的代码。比如父类已经提供的方法,子类可以直接使用,不必再去实现。
会有这个问题的原因是你没有理解:通过抽象解决的问题
比如现在有一个业务需求.一个订单.有多个优惠请求比如在每天1点的时候打5折.还有一个在每天1点到3点的时候打减5块钱.
这时候你怎么做?直接写2段代码?那要是后天业务又来找你说再加一个活动.每天1点到2点的时候满200减20.你怎么办.
抽象的例子就是.在这个业务需求中."折扣"是可以抽象出来的.你定义个抽折扣接口.里面包含一个打折方法.传入一个订单.输出这个订单打折的优惠.然后有多少种折扣就实现多少个折扣接口.掉业务代码中循环所有的折扣类型.就处理了这个业务.
重点在:抽象业务需求.
理论要结合实际来应用和互相验证。多看一些示例代码,并自己思考。记住3个w!不然别人说了,也都是别人的。
接口就是规范
继承就是为了省事
接口是 Like a
继承是 Is a
接口你可以理解成是一个标准,就想USB,标准在这里,至于你要插U盘,鼠标等看你需求和实现,如果没有这个标准(接口),你想想你电脑要开多少口,至于继承,所有的鸟都可以飞,这些可以飞的特性我抽出来写成父类,而不同鸟的不同处可以写成子类,你可以理解成同一个爸爸,不同的儿子,每个儿子都可以用爸爸的一些东西,而不是把爸爸拷贝N分给所有儿子用
百度