<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>大老鼠上的小草原</title>
    <description>想偷懒</description>
    <link>http://guosensen.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>webwork in action 学习笔记（二）</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/174772" style="color:red;">http://guosensen.javaeye.com/blog/174772</a>&nbsp;
          发表时间: 2008年03月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在看书写 代码例子的过程中发现了 几个问题<br />一：....<br /> &lt;ww:textfield label="please enter your name:" name="name"/><br />      &lt;input type="submit"/><br />......这个表单和提交在浏览器显示的时候 位置会串行 就是提交的按钮会跑到表单上面去<br />不知道 为什么。<br />二：java类继承ActionSupport类后 调用<br /><br />addFieldError("name","Blank names or names of 'world' are not allowed!");<br />方法来把错误信息返回给jsp页面<br /><br />jsp页面的代码如下：<br />&lt;%@ page contentType="text/html;charset=UTF-8" language="java" %><br />&lt;%@ taglib prefix="ww" uri="/webwork" %><br />&lt;html><br />  &lt;head>&lt;title>enter your name&lt;/title>&lt;/head><br />  &lt;body><br />  &lt;ww:form action="hello"><br />      &lt;ww:textfield label="please enter your name:" name="name"/><br />      &lt;input type="submit"/><br />  &lt;/ww:form><br />  &lt;/body><br />&lt;/html> 可在出现错误 返回此页面的时候 并不提示错误信息不知道为什么！<br />请朋友们帮忙看下 谢谢
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/174772#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 22 Mar 2008 12:39:55 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/174772</link>
        <guid>http://guosensen.javaeye.com/blog/174772</guid>
      </item>
      <item>
        <title>webwork in action 学习笔记（一）</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/174756" style="color:red;">http://guosensen.javaeye.com/blog/174756</a>&nbsp;
          发表时间: 2008年03月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天开始 看 webwork in action 这本书。在完成书上第一个例子的时候 发现<br />taglib标签里的uri 会报错！！已开始以为要去配置servlet 后来才知道 原来servlet2.3以后的<br />版本 是都不需要 写tld文件的 映射的！ 上网上搜了搜 找到了 答案 原来<br />uri中的 webwork是要加 斜杠的 就是&lt;%@ taglib prefix="ww" uri="/webwork"%>这样才不会红<br />呵呵 本来很高兴 可是一运行 居然还是出错了！！<img src="/images/smiles/icon_cry.gif"/><br />后来 又去网上查原因 发现 原来少引了两个包 rife-continuations.jar和freemarker.jar<br />加进了两个包后 程序运行 <img src="/images/smiles/icon_biggrin.gif"/> 现在很想知道这两个包 是做什么的 有什么功能！希望各位说下 <br />谢谢！！
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/174756#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 22 Mar 2008 10:58:30 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/174756</link>
        <guid>http://guosensen.javaeye.com/blog/174756</guid>
      </item>
      <item>
        <title>今天开始重新学习java</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/173899" style="color:red;">http://guosensen.javaeye.com/blog/173899</a>&nbsp;
          发表时间: 2008年03月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          突然发现自己是那么的无知，却又那么的傲慢！！原来自己仍是什么都不懂！<br />学习语言 要从基础做起 循序渐进。所以决定从今天起 重新认识和学习java！<br />每天 都在这里 写些东西 作为记录！！
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/173899#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 19 Mar 2008 21:40:42 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/173899</link>
        <guid>http://guosensen.javaeye.com/blog/173899</guid>
      </item>
      <item>
        <title>请问各位一个jstl的问题</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/169228" style="color:red;">http://guosensen.javaeye.com/blog/169228</a>&nbsp;
          发表时间: 2008年03月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我在学习一个jstl的时候 遇到了这样一个问题 <br />The absolute uri: http://java.sun.com/jsp/jstl/corecannot be resolved in either web.xml or the jar files deployed with this application<br />请各位指点下 谢谢<br />jar包我都引了  可是就是找不到这个 路径 不知道是什么原因<br />是jsp版本的问题吗？
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/169228#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 07 Mar 2008 20:39:14 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/169228</link>
        <guid>http://guosensen.javaeye.com/blog/169228</guid>
      </item>
      <item>
        <title>空指针 郁闷啊！！</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/124679" style="color:red;">http://guosensen.javaeye.com/blog/124679</a>&nbsp;
          发表时间: 2007年09月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>刚checkout 下来的 东西 配置都写好的&nbsp; 环境也弄好了 可是 访问页面的时候 却出现空指针错误</p>
<p>这是为什么啊？ 哪位前辈 指点下 我们用的 （webwork+spring+ibatis 数据库用的mysql）。</p>
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/124679#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 17 Sep 2007 11:18:58 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/124679</link>
        <guid>http://guosensen.javaeye.com/blog/124679</guid>
      </item>
      <item>
        <title>css</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/105675" style="color:red;">http://guosensen.javaeye.com/blog/105675</a>&nbsp;
          发表时间: 2007年07月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          CSS是&ldquo;Cascading Style Sheets&rdquo;的简称，中文翻译为&ldquo;串接样式表&rdquo;，也有人翻译 为&ldquo;样式表&rdquo;。CSS用以作为网页的排版和风格设计，在web标准建站中，对CSS的熟悉和使用 是相当重要的一个内容。CSS的作用是弥补HTML的不足，让网页的设计更为灵活。
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　这个文章只是为您介绍CSS的基础应用，指引您的一个入门的基础教程，主要目的是为 推进web标准贡献自己的微薄之力。</p>
<p>　　说点我自己的体会，现在有好多人都在推广WEB标准，其实对初学者来说，不需要刚学 的时候就学标准，学点简单的还是容易入门的，因为现在HTML还在照样用啊，所以我希望初学 者学习时不要非遵循标准，当你入门之后，你做网页的时候，发现使用表格特麻烦的时候你就 该去寻求简单方法了，到时再学也不晚啊，如果你喜欢新技术那么你初学时就学标准吧，按个 人的实际来行动吧。下面开始学习了</p>
<p>　　<font color="#ff0000">一、如何在HTML中应用CSS。</font></p>
<p>　　您可以利用下列 3 种方式将 CSS 指定的格式加入到HTML中：</p>
<p>　　1. 在 HTML 文件里加一个超级连结，连接到外部的 CSS 文档。(外部连结 CSS) </p>
<p>　　这个方法最方便管理整个网站的网页风格，它让网页的文字内容与版面设计分开。您 只要在一个 CSS 文档内（扩展名为 .CSS）定义好网页的风格，然后在网页中加一个超级连接 连接到该文档，那么你的网页会按在CSS文档内定义好的风格显示出来了。 </p>
<p>　　具体的使用防范是：　　</p>
<div class="code"><br />
　　 <br />
　　 <br />
　　
<link href="style.css" rel="stylesheet" type="text/css" /> <br />
　　 </div>
<p>　　注意：style.css文件的位置。 </p>
<p>　　2. 在 HTML 文件内的 ....... 标签之间，加一段 CSS 的描述内容。(内定义CSS) </p>
<p>　　这个方法适用于指定某个网页，除了表现外部的 CSS 文档定义好的网页风格外，同时 还要表现本身 HTML 文档内指定的 CSS 。 </p>
<p>　　如果内在添加的 CSS 描述与外部连接的 CSS 描述相冲突的话，网页的表现将以内在 添加的 CSS 描述为主，也就是外部的描述就不再起作用了。 </p>
<p>　　具体使用方法是：　　</p>
<div class="code"><br />
　　 <br />
　　 <br />
　　<style type="text/css">
 <br />
　　<!-- <br />
　　BODY {font: 12pt} <br />
　　H1 {font: 16pt} <br />
　　P {font-weight: bold; <br />
　　color: green} <br />
　　--> <br />
　　</style> <br />
　　 <br />
　　 <br />
　　网页内容&hellip; <br />
　　 <br />
　　 </div>
<p>　　值得注意的是，为了防止不支持 CSS 的浏览器误将标签间的 CSS 风格描述当成普通 字串，而表现于网页上，您最好将 CSS 的叙述文字插入在<!--和-->之间。</p>
<p>　　3. 在 HTML 文件的文本内容中，随时有需要，随时加一小段 CSS 的描述指定风格。( 文本间CSS)</p>
<p>　　这个方法适用于指定网页内的某一小段文字的呈现风格。 </p>
<p>　　外部CSS与内定义CSS如果和此定义有相同的项，那么以此定义的 CSS 风格表现，外部 CSS文档与内定义CSS和此定义的没相同的项时那么还会正常显示，同时还会显示文本内容间的 CSS 风格。 </p>
<p>　　具体使用方法是：　　</p>
<div class="code"><br />
　　 <br />
　　 <br />
　　 <br />
　　 <br />
　　
<p style="COLOR: red"><br />
　　本页内容&hellip; <br />
　　</p>
<br />
　　 <br />
　　 </div>
<p>　　上述的 3 种 CSS，可以同时并用，也可以择您所好，单一或成双地使用。如果各 CSS 间的叙述相冲突，则内在定义的 CSS 会覆盖外部连结的 CSS ，文本间的 CSS 会覆盖内在定 义的 CSS 。 </p>
<p>　　<font color="#ff0000">二、挑选者、属性和值。</font></p>
<p>　　先举个例子：H3{ COLOR : BLUE }表示在文本中只要使用H3标签的文字的颜色都是绿 色。其中H3为挑选者，COLOR为属性，BLUE为COLOR属性的值。挑选者是套用样式的元件，通常 为外部CSS或内定义CSS定义的风格的一个名字，在这个初级教程里理解为一个标签的名字也可 以。属性是用语描述挑选者的特性，相当于HTML语法中的标签的属性。值就是属性的具体内容 。</p>
<p>　　在CSS中当我们使用到属性值的时候，通常值是有一个度量依据的，也就是说值是有单 位的。比如我们通常说你从家到学校走1，1什么呢？米，公里，还是走1小时。通常在CSS中的 单位有：相对单位与绝对单位两种单位具体如下：</p>
<p>　　&ldquo;em&rdquo; (比如 font-size: 2em) ：相对于字母高度的比例因子。</p>
<p>　　&ldquo;%&rdquo; (比如 font-size: 80%)： 相对于长度单位（通常是目前字型的大小）的百分 比例。</p>
<p>　　 　　'px' (比如 font-size: 12px) ：像素（系统预设单位）。</p>
<p>　　'pt' (比如 font-size: 12pt)： 像点。</p>
<p>　　此外还有 'pc' (印刷活字单位), 'cm' (公分), 'mm' (公厘) 和 'in' (英寸)等单位 。</p>
<p>　　当值为0时，我们就不需要设置单位了，比如你不想要边框那么我们直接设置border=0 。</p>
<p>　　在这我多说一句，就是强调单位的使用时，当我自己制作的网页想在分辨率改变时， 字体大小也随着改变那么我们就使用单位%和em，如果你想时你的网页不管怎么调分辨率都是 固定大小的那么我们使用px、pt等元素了。呵呵！</p>
<p>　　<font color="#ff0000">三、颜色的设置和使用。</font></p>
<p>　　CSS提供了16,777,216种颜色可以供我们来使用，通常表现颜色的方式有三种：颜色名 字、RGB(red/green/blue) 数值和十六进制数形式，具体表现如下：</p>
<p>　　红色可以表示为：red、RGB(255,0,0)、rgb(100%,0%,0%)、#ff0000 和 #f00　五种方 式。</p>
<p>　　#RRGGBB：以三个00到FF的十六进位值分别表示0到255十进位值的红、绿、蓝三原色数 值。</p>
<p>　　#RGB：简略表示法，只用三个0到F的十六进位值分别表示红、绿、蓝三原色数值。而 事实上，浏览器会自动扩展为六个十六进位的值，如『#ABC』将变为『#AABBCC』。但是，显 见这样的 表示法并不精确。</p>
<p>　　rgb(R,G,B)：以0到255十进位值的红、绿、蓝三原色数值来表示颜色。</p>
<p>　　rgb(R%,G%,B%)：以红、绿、蓝彼此相对的数值比例来表示颜色，如rgb (60%,100%,75%)。</p>
<p>　　Color_Name： 直接以颜色名称来表示颜色，共有141种标准的颜色名称。</p>
<p>　　通常我们在设置颜色的时候通常是设置文字的颜色还有一个就是背景色。如按下图进 行设置：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div align="center"><img src="http://www.7880.com/Upload/2005-01/20051385515796.gif" border="0" alt="" /></div>
　　我们可以保存一下文荡然后浏览你就可以看到效果了。
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　<font color="#ff0000">四、关于文本的设置。</font></p>
<p>　　我们可以使用多种属性来改变网页文本的大小和形状,以使网页文本内容看起来更加美 观。</p>
<p>　　font-family：设定文字字型 可以取family-name值，范例：SPAN { family-name : &quot; 楷体&quot; }或范例：<span style="family-name: 楷体">。</span></p>
<p>　　font-style：设定字体样式，可以取的值有normal 普通字、italic 斜体字；范例： SPAN { font-style : italic }。</p>
<p>　　font-weight：设定字型份量；可以取的值有normal 普通字 、bold 粗体字 、bolder 相对于父元素稍粗 、lighter 相对于父元素稍细 、100,200,300,400,500,600,700,800,900 数字由小到大代表笔画由细到粗，例如：normal=400　bold=700 ；范例：SPAN { font- weight : bolder }。</p>
<p>　　font-size：设定文字大小。</p>
<p>　　text-decoration：设定文字修饰，可能值有 none 普通字 、underline 文字加底线 、overline 文字加顶线 、line-through 文字加删除线 、blink 设定文字闪烁 ；范例： SPAN { text-decoration : blink }</p>
<p>　　text-transform：设定文字转换 ；可能值有none 普通字 、capitalize 将英文单字 地一个字母转换为大写 、uppercase 将所有文字转换为大写 、lowercase 将所有文字转换为 小写 ；范例：SPAN { text-transform : uppercase }。</p>
<p>　　 　　<font color="#ff0000">五、边缘和区块的设置。</font></p>
<p>　　MARGIN：边缘，虽然是通透的部份，但是可以藉由边缘宽度的调整来达到内容元素位 置调整的目的。PADDING：补白，也就是内容元素与框架之间的这段距离与空间，也可以利用 CSS指令去控制大小。</p>
<p>　　把代码改为如图：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div align="center"><img src="http://www.7880.com/Upload/2005-01/20051385520278.gif" border="0" alt="" /></div>
　　 他们的属性有：margin-top(上边缘宽度), margin-right(右边缘宽度), margin- bottom(下边缘宽度), margin-left(左边缘宽度), padding-top(上方补白宽度), padding- right(右方补白宽度), padding-bottom(下方补白宽度) 和 padding-left(左方补白宽度)。
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　下面通过一个图来给大家说明：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div align="center"><img src="http://www.7880.com/Upload/2005-01/20051385520755.gif" border="0" alt="" /></div>
　　看看上图理解点了吧！下面我们开始讲讲边框。
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>　　<font color="#ff0000">六、边框border性质设定。</font> </p>
<p>　　边框也能应用到大多数的HTML标签中，可以来使网页更加美观，边框的具体属性有 border-top：综合设定上边框性质 、border-right：综合设定右边框性质 、border-bottom ：综合设定下边框性质、 border-left：综合设定左边框性质。</p>
<p>　　border-style　综合设定边框样式 ，可能值：solid(实线), dotted(虚线), dashed( 短直线), double(双直线), groove (3d凹线), ridge (3d凸线), inset (3d嵌入) 和 outset (3d隆起)。</p>
<p>　　border-width　综合设定边框宽度,可以设置的有 border-top-width(设定上边框宽度 ), border-right-width(设定右边框宽度), border-bottom-width(设定下边框宽度) 和 border-left-width(设定左边框宽度).</p>
<p>　　border-color　综合设定边框颜色。</p>
<p>　　把下面代码加到你的网页中可以看到效果了：</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div align="center"><img src="http://www.7880.com/Upload/2005-01/20051385520211.gif" border="0" alt="" /></div>
　　这片文章就介绍到这里了，因为是一个初学者的入门教程，所以内容显得少的可怜。 以后会给大家介绍一些比较高级的内容，希望大家支持我啊！
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/105675#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 26 Jul 2007 09:15:01 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/105675</link>
        <guid>http://guosensen.javaeye.com/blog/105675</guid>
      </item>
      <item>
        <title>java基础 概念</title>
        <author>大老鼠上的小草原</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://guosensen.javaeye.com">大老鼠上的小草原</a>&nbsp;
          链接：<a href="http://guosensen.javaeye.com/blog/28742" style="color:red;">http://guosensen.javaeye.com/blog/28742</a>&nbsp;
          发表时间: 2006年10月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          基本概念 <br />　　 <br />　　1.OOP中唯一关系的是对象的接口是什么，就像计算机的销售商她不管电源内部结构是怎样的，他只关系能否给你提供电就行了，也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的，不同的对象的访问通过函数调用来完成，对象间所有的交流都是通过方法调用，通过对封装对象数据，很大限度上提高复用率。 <br />　　 <br />　　2.OOP中最重要的思想是类，类是模板是蓝图，从类中构造一个对象，即创建了这个类的一个实例(instance)。 <br />　　 <br />　　3.封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实现过程，一个对象中的数据叫他的实例字段(instance field)。 <br />　　 <br />　　4.通过扩展一个类来获得一个新类叫继承(inheritance)，而所有的类都是由Object根超类扩展而得，根超类下文会做介绍。 <br />　　 <br />　　5.对象的3个主要特性 <br />　　 <br />　　ehavior---说明这个对象能做什么。 <br />　　 <br />　　tate---当对象施加方法时对象的反映。 <br />　　 <br />　　dentity---与其他相似行为对象的区分标志。 <br />　　 <br />　　每个对象有唯一的indentity 而这3者之间相互影响。 <br />　　 <br />　　6.类之间的关系: <br />　　 <br />　　use-a :依赖关系 <br />　　 <br />　　has-a :聚合关系 <br />　　 <br />　　is-a :继承关系--例:A类继承了B类，此时A类不仅有了B类的方法，还有其自己的方法.(个性存在于共性中) <br />　　 <br />　　7.构造对象使用构造器:构造器的提出，构造器是一种特殊的方法，构造对象并对其初始化。 <br />　　 <br />　　例:Data类的构造器叫Data <br />　　 <br />　　ew Data()---构造一个新对象，且初始化当前时间。 <br />　　 <br />　　Data happyday=new Data()---把一个对象赋值给一个变量happyday，从而使该对象能够多次使用，此处要声明的使变量与对象变量二者 <br />　　 <br />　　是不同的.new返回的值是一个引用。 <br />　　 <br />　　构造器特点:构造器可以有0个，一个或多个参数 <br />　　 <br />　　构造器和类有相同的名字 <br />　　 <br />　　一个类可以有多个构造器 <br />　　 <br />　　构造器没有返回值 <br />　　 <br />　　构造器总是和new运算符一起使用 <br />　　 <br />　　8.重载:当多个方法具有相同的名字而含有不同的参数时，便发生重载.编译器必须挑选出调用哪个方法。 <br />　　 <br />　　9.包(package)Java允许把一个或多个类收集在一起成为一组，称作包，以便于组织任务，标准Java库分为许多包.java.lang java.util java，net等，包是分层次的所有的java包都在java和javax包层次内。 <br />　　 <br />　　10.继承思想:允许在已经存在的类的基础上构建新的类，当你继承一个已经存在的类时，那么你就复用了这个类的方法和字段，同时你可以在新类中添加新的方法和字段。 <br />11.扩展类:扩展类充分体现了is-a的继承关系. 形式为:class (子类) extends (基类)。 <br />　　 <br />　　12.多态:在java中，对象变量是多态的.而java中不支持多重继承。 13.动态绑定:调用对象方法的机制。 <br />　　 <br />　　 1）编译器检查对象声明的类型和方法名。 <br />　　 <br />　　 2）编译器检查方法调用的参数类型。 <br />　　 <br />　　 3）静态绑定:若方法类型为priavte static final 编译器会准确知道该调用哪个方法。 <br />　　 <br />　　 4）当程序运行并且使用动态绑定来调用一个方法时，那么虚拟机必须调用x所指向的对象的实际类型相匹配的方法版本。 <br />　　 <br />　　 5）动态绑定:是很重要的特性，它能使程序变得可扩展而不需要重编译已存代码。 <br />　　 <br />　　14.final类:为防止他人从你的类上派生新类，此类是不可扩展的。 <br />　　 <br />　　15.动态调用比静态调用花费的时间要长。 <br />　　 <br />　　16.抽象类:规定一个或多个抽象方法的类本身必须定义为abstract。 <br />　　 <br />　　例: public abstract string getDescripition <br />　　 <br />　　17.Java中的每一个类都是从Object类扩展而来的。 <br />　　 <br />　　18.object类中的equal和toString方法。 <br />　　 <br />　　equal用于测试一个对象是否同另一个对象相等。 <br />　　 <br />　　toString返回一个代表该对象的字符串，几乎每一个类都会重载该方法，以便返回当前状态的正确表示。 <br />　　 <br />　　(toString 方法是一个很重要的方法) <br />　　 <br />　　19.通用编程:任何类类型的所有值都可以同object类性的变量来代替。 <br /><br />20.数组列表:ArrayList动态数组列表，是一个类库，定义在java.uitl包中，可自动调节数组的大小。 <br /><br />21.class类 object类中的getclass方法返回ckass类型的一个实例，程序启动时包含在main方法的类会被加载，虚拟机要加载他需要的所有类，每一个加载的类都要加载它需要的类。 <br />　　 <br />　　22.class类为编写可动态操纵java代码的程序提供了强大的功能反射，这项功能为JavaBeans特别有用，使用反射Java能支持VB程序员习惯使用的工具。 <br />　　 <br />　　能够分析类能力的程序叫反射器，Java中提供此功能的包叫Java.lang.reflect反射机制十分强大。 <br />　　 <br />　　1）在运行时分析类的能力。 <br />　　 <br />　　2）在运行时探察类的对象。 <br />　　 <br />　　3）实现通用数组操纵代码。 <br />　　 <br />　　4）提供方法对象。 <br />　　 <br />　　而此机制主要针对是工具者而不是应用及程序。 <br />　　 <br />　　反射机制中的最重要的部分是允许你检查类的结构.用到的API有: <br />　　 <br />　　java.lang.reflect.Field 返回字段。 <br />　　 <br />　　java.reflect.Method 返回方法。 <br />　　 <br />　　java.lang.reflect.Constructor 返回参数。 <br />　　 <br />　　方法指针:java没有方法指针，把一个方法的地址传给另一个方法，可以在后面调用它，而接口是更好的解决方案。 <br />　　 <br />　　23.接口(Interface)说明类该做什么而不指定如何去做，一个类可以实现一个或多个interface。 <br />　　 <br />　　24.接口不是一个类，而是对符合接口要求的类的一套规范。 <br />　　 <br />　　若实现一个接口需要2个步骤: <br />　　 <br />　　1）声明类需要实现的指定接口。 <br />　　 <br />　　2）提供接口中的所有方法的定义。 <br />　　 <br />　　声明一个类实现一个接口需要使用implements 关键字 <br />　　 <br />　　class actionB implements Comparable 其actionb需要提供CompareTo方法，接口不是类，不能用new实例化一个接口。 <br />　　 <br />　　25.一个类只有一个超类，但一个类能实现多个接口。Java中的一个重要接口：Cloneable <br />　　 <br />　　26.接口和回调.编程一个常用的模式是回调模式，在这种模式中你可以指定当一个特定时间发生时回调对象上的方法。 <br />　　 <br />　　例:ActionListener 接口监听。 <br />　　 <br />　　类似的API有: <br />　　java.swing.JOptionPane <br />　　java.swing.Timer <br />　　java.awt.Tookit <br />　　 <br />　　27.对象clone:clone方法是object一个保护方法，这意味着你的代码不能简单的调用它。 <br />　　 <br />　　28.内部类:一个内部类的定义是定义在另一个内部的类。 <br />　　 <br />　　原因是: <br />　　 <br />　　1）一个内部类的对象能够访问创建它的对象的实现，包括私有数据。 <br />　　 <br />　　2）对于同一个包中的其他类来说，内部类能够隐藏起来。 <br />　　 <br />　　3）匿名内部类可以很方便的定义回调。 <br />　　 <br />　　4）使用内部类可以非常方便的编写事件驱动程序。 <br />　　 <br />　　29.代理类(proxy): <br />　　 <br />　　1）指定接口要求所有代码 <br />　　 <br />　　2）object类定义的所有的方法(toString equals) <br />　　 <br />　　30.数据类型:Java是强调类型的语言，每个变量都必须先申明它都类型，java中总共有8个基本类型.4种是整型，2种是浮点型，一种是字符型，被用于Unicode编码中的字符，布尔型。
          <br/>
          <span style="color:red;">
            <a href="http://guosensen.javaeye.com/blog/28742#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 19 Oct 2006 20:45:11 +0800</pubDate>
        <link>http://guosensen.javaeye.com/blog/28742</link>
        <guid>http://guosensen.javaeye.com/blog/28742</guid>
      </item>
  </channel>
</rss>