Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 学习心得/方法/资源  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:给初学者几个常用的关键词和几个概念细节的解释。 [Re:laies]
laies





发贴: 54
积分: 3
于 2006-04-15 01:52 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
interface与abstract的区别:

nterface:接口
Abstract Class:抽象类
Class:类,包括抽象类。
学 Java 的人,或学 OO 编程的人,都是要弄清楚这两个概念的区别。
现将我的观点说一下。
在OO中,Interface 和Abstract Class 是两个不同的概念。

1。Abstract Class类似于 Abstract Data Type(抽象数据类型),它定义了它所有的subclass(子类)应该有的特性,就是在Abstract Class 中声明方法和变量。如定义一种抽象类型:车。那么在Java中,就要在class或method上加上 abstract。举个例:

public abstract class 车
{
public int 轮子;
public abstract void 移动();
}

这个抽象类就声明了所有的车应有的特征(如轮子)和行为(如移动)。之后你就可以扩展(extend)这个抽象类,只要是车,就可以,还有你可以在子类(subclass)中加入自己的特征,如

public class 跑车 extends 车
{
public void 移动()
{
System.out.println("我在移动");
}
public void 引擎类型() //属于自己(跑车)的行为
{
System.out.println("高级引擎");
}
轮子=4;
}

public class 自行车 extends 车
{
public void 移动()
{
System.out.println("我在移动");
}
public void 爆胎() //属于自己(自行车)的行为
{
System.out.println("我走不动了");
}
轮子=2;
}

2。Interface 则用来定义一个协议,所有的方法都可以实现它。一个Interface定义了方法,和最终静态(final static)变量,所有实现这个Interface的都要保证实现的东西与这个Interface 定义的行为一致。使用Interface可以让Object(对象)在一定的规范下沟通。



public interface TCP协议
{
public void 打开端口();
public void 关闭端口();
}

这样的话,只要实现这个Interface的都可以使用这两个方法交流。

在 Java平台里,它们主要有3个不同点:
1。一个类(Class)只能继承一个超类(Super class),但是可以实现多个Interface。
2。在Abstract Class内,你可以有不抽象(Abstract)的方法,即有意义的方法,但Interface不行。


public abstract class 车
{
public int 轮子;
public abstract void 移动();
public String 我是什么()
{
return "车子";
}
}

3。Interface不属于 继承范围。即不可能成为超类(Super Class)




话题树型展开
人气 标题 作者 字数 发贴时间
9975 给初学者几个常用的关键词和几个概念细节的解释。 laies 3437 2006-03-22 11:15
8978 Re:几个常用的关键词的详细解释,供大家参考。 laies 3511 2006-03-22 11:15
8984 Re:给初学者几个常用的关键词和几个概念细节的解释。 laies 1543 2006-04-15 01:52
9012 Re:几个常用的关键词的详细解释,供大家参考。 laies 3131 2006-03-22 11:18
9037 Re:几个常用的关键词的详细解释,供大家参考。 laies 3681 2006-03-22 11:19
9604 Re:几个常用的关键词的详细解释,供大家参考。 needd 11 2006-03-22 11:58
9053 Re:几个常用的关键词的详细解释,供大家参考。 daerlang 4 2006-03-22 16:20
8780 Re:几个常用的关键词的详细解释,供大家参考。 容大 13 2006-04-04 15:15
8805 Re:几个常用的关键词的详细解释,供大家参考。 laies 2673 2006-04-04 15:33
8717 Re:几个常用的关键词的详细解释,供大家参考。 why 41 2006-04-05 12:47
8826 Re:几个常用的关键词的详细解释,供大家参考。 淹不死の鱼 31 2006-04-05 22:01

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923