abstract class和interface在java语言中都是用来进行抽象类定义的
interface ,给外界的接口,按照规定办事;
abstract ,内部继承关系;
interface 就是一组操作的集合,它定义了一个行为集但不作任何具体的实现,这样的话,具体的操作 都可以放在实现类中去,
体现设计与实现分离的设计思想。
在面向对象的概念中,所有的对象都是通过类来描绘,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
抽象概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
=====================================================================================================================
使用abstract class的方式定义demo抽象类的方式如下:
abstract class demo {
abstract void method1();
abstract void method2();
…
}interface demo {
void method1();
void method2();
…
}abstract class mshape
{
protected string color; //数据成员
public void setcolor(string mcolor) //一般方法,定义了具体的处理
{
color=mcolor;
}
abstract void area(); //抽象方法,没有定义具体的处理
}
class rectshape extends mshape
{
int width,height,rectarea;
public rectshape(int w,int h)
{
width=w;
height=h;
}
public void area() //计算面积
{
rectarea=width*height;
}
}
public class myapp
{
public static void main(string args[])
{
rectshape rect=new rectshape(3,6);
rect.setcolor("red");
rect.area();
system.out.print("color="+rect.color+", area="+rect.rectarea);
}
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器