java 接口和抽象类

来源:互联网 发布:减脂训练计划 知乎 编辑:程序博客网 时间:2024/06/17 06:27

抽象类:

在面向对象的领域一切都是对象,所有的对象都是通过类来描述的。如果我们要定义的一个类没有足够的信息来描述一个具体的对象,还需要其他的具体类来支持,这个时候我们可以考虑使用抽象类。在类定义的前面增加abstract关键字,就表明一个类是抽象类。


抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。


接口:

与抽象类类似的一个重要概念是接口。接口(Interface)是一组抽象方法的集合。接口中定义的方法没有方法体,它们以分号结束。

接口也和抽象类一样,无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。编写接口和编写类的方式是大体上是类似的,一个接口可以有多个方法,代码保存在以接口命名且以.java结尾的文件中。接口使用interface关键字进行定义。


接口的好处:

1、在业务逻辑设计的时候,可以只关注逻辑,不去写具体实现。等到接口写完后,你完全可以把具体实现交给其他人做,其他人按照你的业务逻辑就能完成。

2、当知道一件事肯定要多次被做,但是每次做的方法都不一样的时候,你可以写个接口,相当于声明了这个方法,但是具体实现可以等用的时候再写,这样可以使代码更加简洁明了。


抽象类的好处:

1、把有共同代码的子类概括起来做一个基类,不同的地方用抽象类来代替,相同的地方基类就帮你具体实现了,节约了代码


区别:

接口更加零散,他专注于概括不同的事情,方法。抽象类更加像一个基类,为不同的子类做一个总的规范。





在数据库查询的方法中,针对sql语句查出数据后的不同操作,采用了接口来代替,特别的好

因为这样一个方法,就可以代替所有的数据库查询+数据处理的方法,一法多用


接口有两种使用方法:

1、直接用接口来代替方法,使用该方法时再实现接口

2、让已知的类实现接口,然后把该类作为参数传入方法,该方法可以获取这个类的接口对象,然后实现你在类里写的接口方法

两种区别是第一种是方法使用的同时才实现接口方法,第二种是在方法使用前就已经在具体类里实现了接口方法

0 0
原创粉丝点击