最初接触java的时候,只知道它的里面存在着这些内容,这些知识,很少去考虑有这些内容,那么,在做项目的时候,到底是用来做什么的呢?今天,无意间从图书馆中借到了CSDN上连载的技术文章:《Java 编程那些事儿》,看到的时候有一种亲切感,因为,我学习java就是从CSDN上开始的,而且一直以来,她都伴随我的学习过程,因此,马上借来看看。
说多了……
今天才发现,为什么要有接口和抽象类?原来首相类和接口是用来做这些的:
在项目设计时,整个项目的代码一般分为结构代码和逻辑代码。如何设计结构代码呢?这就需要使用下面将要介绍的抽象类和接口的知识了。这是最直接的问题吧。
下面,我摘抄一些《Java 编程那些事儿》上的一些话帮助理解一下怎么用这些:
一,两者的区别:(一下三条)
抽象类是一个类,所以,类的内部可以包含的构造方法、方法、属性等都可以在抽象类中存在,同时,抽象类在继承的时候是单继承。
接口内部只能包含常量属性和抽象方法,但是一个类可以实现多个接口。
抽象类可以包含抽象方法,也可以包含实体方法,接口内部的方法都必须使抽象方法。
抽象类可以继承类,而接口不能继承类。
二,什么时候使用抽象类?
1.子类不集成其他父类
2.子类中存在完全相同的功能实现方法
3.子类中存在相同的属性
4.设计出的结构需要继承其他类(必须使用抽象类)
三,什么时候使用接口?
1.子类已经继承了其他父类(只能用接口)
2.子类中不存在完全相同的功能实现方法
3.子类中不存在相同的属性
4.设计出的结构不需要继承其他类
四,举一个接口的例子(因为抽象类和类很相似,所以就不举了)(摘自《Java 编程那些事儿》)
//定义接口
public interface USB
{
public static final int V = 5;
public abstract byte[] readDate();
}
//实现接口
public class Computer implements USB
{
int memorySize; //有不同的属性
public byte[] readData()
{
//实现过程
}
}
//实现接口2
public class DigitalCamera implements USB
{
int vendorName; //有不同的属性
public byte[] readData()
{
//实现过程
}
}