﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-同一个目标，同一个梦想-随笔分类-My Q/A</title><link>http://www.blogjava.net/J2EEHOME/category/42921.html</link><description>One Target,One Dream</description><language>zh-cn</language><lastBuildDate>Mon, 30 Nov 2009 12:23:29 GMT</lastBuildDate><pubDate>Mon, 30 Nov 2009 12:23:29 GMT</pubDate><ttl>60</ttl><item><title>java接口和抽象类的区别</title><link>http://www.blogjava.net/J2EEHOME/archive/2009/11/30/304305.html</link><dc:creator>J2EE Home工作室</dc:creator><author>J2EE Home工作室</author><pubDate>Mon, 30 Nov 2009 11:46:00 GMT</pubDate><guid>http://www.blogjava.net/J2EEHOME/archive/2009/11/30/304305.html</guid><wfw:comment>http://www.blogjava.net/J2EEHOME/comments/304305.html</wfw:comment><comments>http://www.blogjava.net/J2EEHOME/archive/2009/11/30/304305.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/J2EEHOME/comments/commentRss/304305.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/J2EEHOME/services/trackbacks/304305.html</trackback:ping><description><![CDATA[
		<p>java接口和抽象类的区别 收藏 <br />简单来说， 接口是公开的，里面不能有私有的方法或变量，是用于让别人使用的，而抽象类是可以有私有方法或私有变量的，另外，实现接口的一定要实现接口里定义的所有方法，而实现抽象类可以有选择地重写需要用到的方法。<br />一般的应用里，最顶级的是接口，然后是抽象类实现接口，最后才到具体类实现。<br />还有，接口可以实现多重继承，而一个类只能继承一个超类，但可以通过继承多个接口实现多重继承，接口还有标识（里面没有任何方法，如Remote接口）和数据共享（里面的变量全是常量）的作用. </p>
		<p>1.abstract class 在 Java 语言中表示的是一种继承关系，一个类只能使用一次继承关系。但是，一个类却可以实现多个interface.<br />2.在abstract class 中可以有自己的数据成员，也可以有非abstarct的成员方法，而在interface中，只能够有静态的不能被修改的数据成员（也就是必须是 static final的，不过在 interface中一般不定义数据成员），所有的成员方法都是abstract的。<br />3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系，interface表示的是"like-a"关系。<br />4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。<br />5.接口中定义的变量默认是public static final 型，且必须给其初值，所以实现类中不能重新定义，也不能改变其值。<br />6.抽象类中的变量默认是 friendly 型，其值可以在子类中重新定义，也可以重新赋值。<br />7.接口中的方法默认都是 public，abstract 类型的。</p>
		<p>
				<br />本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/lpdb2001/archive/2008/08/04/2765595.aspx">http://blog.csdn.net/lpdb2001/archive/2008/08/04/2765595.aspx</a></p>
<img src ="http://www.blogjava.net/J2EEHOME/aggbug/304305.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/J2EEHOME/" target="_blank">J2EE Home工作室</a> 2009-11-30 19:46 <a href="http://www.blogjava.net/J2EEHOME/archive/2009/11/30/304305.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>