Java接口与抽象类的比较
Java接口与抽象类的比较
1、 最大的区别:java抽象类可以提供某些方法的部分实现,而java接口不可以。
如果向一个抽象类里加入一个新的具体方法,那么他所有的子类都一下子得到了这个新方法,而java接口做不到这一点。如果向一个java接口里面加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为必须让那个每一个类都再实现这个方法才行,这显然是java接口的缺点。
2、 一个抽象类的实现只能够由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。
在这一点上,java接口就的优势就除来了。任何一个实现了一个java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个java接口,从而这个类就有了多种类型。
3、 Java接口是定义混合类型的理想工具。
4、 经典的设计模式:
声明类型的工作仍然由java接口承担,但同时给出一个java抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个java接口,也可以选择继承这个抽象类,这一下同名两个的最大优点都能发挥到极致了。
抽象类 abstract
1: 当一个类只有方法的定义,而没有实现这种情况下我们一般会做成抽象类
public abstract class Ab {
//无方法体--抽象方法
public abstract void print();
}
2: 当一个类有抽象方法,则本类必须声明为抽象类,反之,一个类声明为抽象类,未必有抽象方法.
3: 一个抽象类不能被实例化.
Ab a=new Ab();//错误
4: 抽象类需要子类去实现抽象方法.
5: 抽象类的子类如果不实现父类的抽象方法,则必须生明为抽象类
6:一般在设计的时候采用抽象类,象设计人员只关心宏观问题,而把方法的具体实现交给别人来做。
接口的特性 interface 实现类为implements
1:接口相当于一种特殊的抽象类,不能有具体实现,全部都是方法的定义,使一种完全抽象的类型。
2:接口与接口之间可以多继承。
3:类和接口之间可以多实现,也就是说一个类可以实现多个接口。
4:一个类可以即继承一个类,又可以实现多个接口。
&
相关文档:
class Link
{
private Node head;
public Link(Node head)
{
this.head=head;
}
public void addNode(Node node)
{
Node p=head;
while(true)
{
if(!p.hasNext())
{
p.setNext(node);
break;
}
p=p.getNext();
}
}
//插入节
public void insertNode(Node p,Node q)
{
q.setNext(p.getNext());
p.se ......
java 代码实现
public static boolean isLetter(char c) {
int k = 0x80;
return c / k == 0 ? true : false;& ......
本文转载自李绪成老师的笔记,感谢李老师!
Web应用中必须在客户端对输入信息进行验证,如果发现错误可以及时对用户进行反馈,也不用等到服务器发现之后再反馈,一方面是减少了用户的等待时间,另一方面减少不必要的交互过程。本节内容介绍如何使用JavaScript完成客户端的验证。
JavaScript语言
在Web应用中需要在客户端 ......
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的 ......
UC浏览器是UC 优视科技开发的一款手机浏览器,支持WEB、WAP页面浏览,速度快而稳定,页面排版美观;具有网站导航、搜索、下载、个人数据管理等功能,您能随时随地通过UC浏览器进行无线冲浪,将互联网装进口袋,享受高质移动生活!
今天,UC浏览器7.0 正式版终于和大家见面了,新版 ......