漫谈abstract(抽象)与inferface(接口)

漫谈abstract(抽象)与interface(接口)  

      在说抽象与接口之前,先谈谈个人在开发中的一些感觉,其实如果一个程序中如果没有用到接口和抽象也可以将程序完整的写下来,这对于我们来说只是个初学者。我曾在一个公司的招聘上看到任职要求第一位的是需要会熟悉运用接口与抽象类,以方便以后升级维护和代码的交接。好的闲话少说直接上干货。

抽象(abstract):抽象翻译出来是抽象,摘要,大要。从字面很好理解就是对事物的模糊的描叙。具体到代码中就是在一个类中需要对子类往上的提取。得到一些共性的东西可以有抽象方法和非抽象方法这个是根据一些具体需要。比如

public abstract class animal {

           public abstract void eat();   //抽象方法,抽象类的子类在类中必须实现抽象类中的抽象方法

           public void kanjia(){

          //功能

}

 


}

该类中至少一个抽象方法。注意的是放入需要定义为公共的不然无法被重写。

 

接口(interface):如果只是一个初期理解可以理解为特殊的抽象类,只有抽象方法的类可以被定义为抽象。注意:这个只是初期理解。

public abstract class animal {

           public abstract void eat();   //抽象方法,抽象类的子类在类中必须实现抽象类中的抽象方法

     }

下面就该具体说说共性和特点

共性:1,都是程序对外暴露的规则,如果用这种定义的类就需要按照该类的规则使用。

          2,都不可以直接new对象,需要对其方法重写后才可以建立对象。

          3,都是程序向上抽取的一种体现,也是程序多态的体现。

          4,都可以提高程序的扩招性和程序的可维护性。

特点:1,刚才说接口是特殊的抽象实际是抽象倾向于对类的描述,接口倾向于对类功能的体现。

          2,在于类的关系中,接口是implement实现关系且java中接口是可以多实现的。抽象类与类是extend关系。

         3.接口与接口则是extend的关于。

如果在程序中很少用到这个就需要我们平时去注意去理解。PS:如果有不足,请指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值