关于抽象类和接口有什么用和怎么用
2010-12-10 17:30
232 查看
最初接触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()
{
//实现过程
}
}
说多了……
今天才发现,为什么要有接口和抽象类?原来首相类和接口是用来做这些的:
在项目设计时,整个项目的代码一般分为结构代码和逻辑代码。如何设计结构代码呢?这就需要使用下面将要介绍的抽象类和接口的知识了。这是最直接的问题吧。
下面,我摘抄一些《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()
{
//实现过程
}
}
相关文章推荐
- 小数运算需要注意什么? 接口和抽象类 WinForm窗体上两个panel,怎么实现一个panel固定漂浮在另一个panel之上
- Java基础学习中,关于面向对象中多态、抽象类、接口的总结
- 接口?抽象类?他们有什么用?为什么用他们...
- java中的接口和抽象类是什么?
- 接口和抽象类有什么区别
- 4.2.8 抽象类(abstract class)与接口(interface)有什么异同【Part3:区别】
- C#.NET里面抽象类和接口有什么区别?
- 接口和抽象类有什么区别
- 抽象类(abstract class)和接口(interface)有什么异同?
- 关于JAVA继承、多态、抽象类、接口等性质的学习(3)
- Java:关于接口(interface)详解;接口与抽象类的区别
- 关于接口与抽象类的感悟
- 接口和抽象类有什么区别
- java中关于抽象类和接口的区别
- 接口和抽象类有什么区别
- 关于Java中抽象类和接口区别的总结
- java笔记--什么是接口回调,怎么用
- 接口和抽象类的区别是什么
- 接口和抽象类有什么区别
- 什么是接口?接口有哪些好处,抽象类(abstract)和接口(interface)的区别