﻿<?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-冰枫逸范-随笔分类-J2SE学习历程</title><link>http://www.blogjava.net/xiao314/category/29679.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 24 Mar 2008 06:09:20 GMT</lastBuildDate><pubDate>Mon, 24 Mar 2008 06:09:20 GMT</pubDate><ttl>60</ttl><item><title>Java中两个特殊变量this和super</title><link>http://www.blogjava.net/xiao314/archive/2008/03/24/188194.html</link><dc:creator>冰枫逸范</dc:creator><author>冰枫逸范</author><pubDate>Mon, 24 Mar 2008 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/xiao314/archive/2008/03/24/188194.html</guid><wfw:comment>http://www.blogjava.net/xiao314/comments/188194.html</wfw:comment><comments>http://www.blogjava.net/xiao314/archive/2008/03/24/188194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiao314/comments/commentRss/188194.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiao314/services/trackbacks/188194.html</trackback:ping><description><![CDATA[在Java中有两个非常特殊的变量：this和super，这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部，指向当前对象，当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数，用来引用超类中的变量和方法。因此它们都是非常有用的变量，下面我想介绍一下this和super的使用方法。<br />
<br />
　　1、this<br />
<br />
　　让我们先看一段代码吧：<br />
<br />
　　class&nbsp;PersonInformation<br />
<br />
　　{<br />
<br />
　　　String&nbsp;name,gender,nationality,address;<br />
<br />
　　　int&nbsp;age;<br />
<br />
　　　void&nbsp;PersonInformation(String&nbsp;p_name,String&nbsp;p_gender,String&nbsp;p_nationality,String&nbsp;p_address,int&nbsp;p_age)<br />
<br />
　　　{<br />
<br />
　　　　name=p_name;<br />
<br />
　　　　gender=p_gender;<br />
<br />
　　　　nationality=p_nationality;<br />
<br />
　　　　address=p_address;<br />
<br />
　　　　age=p_age;<br />
<br />
　　　}<br />
<br />
　　}<br />
　<br />
　　你会发现，在PersonInformation()函数中这个对象的方法提示可以直接访问对象的成员变量的，而且在同一个范围中，定义两个相同的名字的局部变量是不允许的，如果确实想使类的成员变量和方法的参数或方法自己定义的局部变量同名的话就需要想一种方法使成员变量与更它同名的方法参数或局部变量区分开来，这就要使用到this变量。下面我想改写一下上面的代码，使PersonInformation类的构造函数的每个参数都有与对象成员变量相同的名字，而成员变量的初值由参数给出。<br />
<br />
　　class&nbsp;PersonInformation<br />
<br />
　　　{<br />
<br />
　　　　String&nbsp;name,gender,nationality,address;<br />
<br />
　　　　int&nbsp;age;<br />
<br />
　　　　void&nbsp;PersonInformation(String&nbsp;name,String&nbsp;gender,String&nbsp;nationality,String&nbsp;address,int&nbsp;age)<br />
<br />
　　　　{<br />
<br />
　　　　this.name=name;<br />
<br />
　　　　this.gender=gender;<br />
<br />
　　　　this.nationality=nationality;<br />
<br />
　　　　this.address=address;<br />
<br />
　　　　this.age=age;<br />
<br />
　　　　}<br />
<br />
　　　}<br />
<br />
　　由上一例中，我们可以看出，该构造函数中必须使用this，this在方法体重用来指向引用当前正在执行方法的那个对象实例，this变量的类型总是为包含前执行方法的类，上例中，我们要区别参数name和成员变量name,写成name=name显然是不允许的，在参数或局部变量名与类成员变量同名的时候，由于参数或局部变量的优先级高，这样在方法体中参数名或局部变量名将隐藏同名的成员变量，因此，为了值名成员变量，你必须使用this显示地指明当前对象。<br />
<br />
　　有时候会遇到这种情况，我们全面的访问当前对象，而不是访问某一个个别的实例对象，我们也可以使用this，并利用Java中的toString()方法（它能够返回一个描述这个对象的字符串）如果把任何一个对象传递到System.out.println方法中，这个方法调用这个对象的toString方法，并打印出结果字符串，所以，我们可以用如下方法System.out.println(this)，来打印出任何对方法固有参数的当前状态。<br />
<br />
　　this还有一个用法，就是构造函数的第一个语句，它的形式是this(参数表），这个构造函数就会调用同一个类的另一个相对的构造函数。请看下面的例子：<br />
<br />
　　class&nbsp;UserInfo&nbsp;<br />
<br />
　　{<br />
<br />
　　　public&nbsp;UserInfo(String&nbsp;name)<br />
<br />
　　　{<br />
<br />
　　　　this(name,aNewSerialNumber);<br />
<br />
　　　}<br />
<br />
　　　public&nbsp;Userinfo(String&nbsp;name,int&nbsp;number)<br />
<br />
　　　{<br />
<br />
　　　　userName=name;<br />
<br />
　　　　userNumber=number;<br />
<br />
　　　}<br />
<br />
　　　}<br />
<br />
　　如果你调用UserInfor&nbsp;newinfotable&nbsp;=&nbsp;new&nbsp;UserInfo("aaron")后,就会自动调用UserInfo(String&nbsp;name,int&nbsp;number)构造函数。<br />
<br />
　　　可见，熟练掌握this在Java程序设计过程中是非常重要的<br />
2、super<br />
<br />
　　在Java中，有时还会遇到子类中的成员变量或方法与超类（有时也称父类）中的成员变量或方法同名，因为子类中的成员变量或方法名优先级高，所以子类中的同名成员变量和方法就隐藏了超类的成员变量或方法，但是我们如果想要使用超类中的这个成员变量或方法，此使就需要用到super，请看下面的类。<br />
<br />
　　　class&nbsp;Country<br />
<br />
　　　{<br />
<br />
　　　　String&nbsp;name;<br />
<br />
　　　　void&nbsp;value()<br />
<br />
　　　　{<br />
<br />
　　　　　name="China";<br />
<br />
　　　　}<br />
<br />
　　　}<br />
<br />
　　下面的子类中，自类的成员变量和方法隐藏了超类的成员变量name和方法value()，<br />
<br />
　　　class&nbsp;City&nbsp;extends&nbsp;Country<br />
<br />
　　　　String&nbsp;name;<br />
<br />
　　　　void&nbsp;value()&nbsp;<br />
<br />
　　　　{<br />
<br />
　　　　　name="Beijing";<br />
<br />
　　　　　super.value();<br />
<br />
　　　　　System.out.println(name);<br />
<br />
　　　　　System.out.println(super.name);<br />
<br />
　　　　}<br />
　<br />
　　　为了在子类中引用超类中的成员变量name和方法value()，在代码中我们使用了super，super.name和super.value()；<br />
<br />
　　　所以显示的结果为<br />
<br />
　　　Beijing<br />
<br />
　　　China<br />
<br />
　　　如果我们想要使用超类的构造函数则应当使用super(参数列表）的形式。&nbsp;<br />
<img src ="http://www.blogjava.net/xiao314/aggbug/188194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiao314/" target="_blank">冰枫逸范</a> 2008-03-24 11:53 <a href="http://www.blogjava.net/xiao314/archive/2008/03/24/188194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于字符串分割的两种方法 </title><link>http://www.blogjava.net/xiao314/archive/2008/03/24/188193.html</link><dc:creator>冰枫逸范</dc:creator><author>冰枫逸范</author><pubDate>Mon, 24 Mar 2008 03:52:00 GMT</pubDate><guid>http://www.blogjava.net/xiao314/archive/2008/03/24/188193.html</guid><wfw:comment>http://www.blogjava.net/xiao314/comments/188193.html</wfw:comment><comments>http://www.blogjava.net/xiao314/archive/2008/03/24/188193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiao314/comments/commentRss/188193.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiao314/services/trackbacks/188193.html</trackback:ping><description><![CDATA[方法1:采用String的split，验证代码如下:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.</span><span style="color: #000000">*</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestSplit<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;{<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(</span><span style="color: #000000">"</span><span style="color: #000000">1,4,2,6,9</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;arrStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;s.split(</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arrInt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;{</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">,</span><span style="color: #000000">0</span><span style="color: #000000">};<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">arrStr.length;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrInt[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Integer.parseIn(arrStr[i]);<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arrays.sort(arrInt);<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">arrInt.length;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(arrInt[i]);<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;}</span></div>
<p><br />
&nbsp;</p>
<p>方法2:采用StringTokenizer<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.</span><span style="color: #000000">*</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;TestStringTokenizer&nbsp;{<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;{<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(</span><span style="color: #000000">"</span><span style="color: #000000">1,4,7,3,5</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">int&nbsp;length&nbsp;=&nbsp;s.length();</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StringTokenizer&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringTokenizer(s,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;arrStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String[str.countTokens()];<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;k&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(str.hasMoreTokens())<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrStr[k]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;str.nextToken();<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;k</span><span style="color: #000000">++</span><span style="color: #000000">;<br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[]&nbsp;arrInt&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">[arrStr.length];<br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">arrInt.length;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrInt[i]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Integer.parseInt(arrStr[i]);<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Arrays.sort(arrInt);<br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">arrInt.length;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(arrInt[i]);<br />
</span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;}</span></div>
<img src ="http://www.blogjava.net/xiao314/aggbug/188193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiao314/" target="_blank">冰枫逸范</a> 2008-03-24 11:52 <a href="http://www.blogjava.net/xiao314/archive/2008/03/24/188193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>int 和 String 互相转换的多种方法 </title><link>http://www.blogjava.net/xiao314/archive/2008/03/24/188192.html</link><dc:creator>冰枫逸范</dc:creator><author>冰枫逸范</author><pubDate>Mon, 24 Mar 2008 03:49:00 GMT</pubDate><guid>http://www.blogjava.net/xiao314/archive/2008/03/24/188192.html</guid><wfw:comment>http://www.blogjava.net/xiao314/comments/188192.html</wfw:comment><comments>http://www.blogjava.net/xiao314/archive/2008/03/24/188192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiao314/comments/commentRss/188192.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiao314/services/trackbacks/188192.html</trackback:ping><description><![CDATA[1.如何将字符串转换为int类型
<table class="p11" cellspacing="0" cellpadding="0" width="560" border="0">
    <tbody>
        <tr>
            <td style="word-wrap: break-word" align="left"><span class="a14c" id="zoom">
            <p style="text-indent: 2em">⑴ int i = Integer.parseInt(String);<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⑵ int i = Integer.valueOf(String);<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：字符串转换为Double, Float, Long类型用法类似<br />
            <br />
            2.如何将int类型转换为字符串<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⑴&nbsp;&nbsp;&nbsp;String&nbsp; s =&nbsp;String.valueOf(int);<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⑵&nbsp;&nbsp;&nbsp;String&nbsp; s = Integer.toString(int);<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⑶&nbsp;&nbsp;&nbsp;String s = " " + int;<br />
            <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：Double, Float, Long转换为字符串类型用法类似</p>
            </span></td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/xiao314/aggbug/188192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiao314/" target="_blank">冰枫逸范</a> 2008-03-24 11:49 <a href="http://www.blogjava.net/xiao314/archive/2008/03/24/188192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA事件处理机制</title><link>http://www.blogjava.net/xiao314/archive/2008/02/28/182803.html</link><dc:creator>冰枫逸范</dc:creator><author>冰枫逸范</author><pubDate>Thu, 28 Feb 2008 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/xiao314/archive/2008/02/28/182803.html</guid><wfw:comment>http://www.blogjava.net/xiao314/comments/182803.html</wfw:comment><comments>http://www.blogjava.net/xiao314/archive/2008/02/28/182803.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiao314/comments/commentRss/182803.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiao314/services/trackbacks/182803.html</trackback:ping><description><![CDATA[<p>GUI事件处理的几个概念<br />
1.事件：一个事件类型的对象，用来描述发生了什么事，当用户在组件上进行操作时会触发相应的事件.<br />
2.事件源:能够产生事件的GUI组件.<br />
3.事件处理方法:能够接受，解析和处理事件类型的对象，实现与用户交互功能的方法.<br />
4.事件调度器:能够调用事件处理方法的对象.<br />
<br />
JAVA的事件主要有两种:<br />
JAVA的事件类都包含在JDK的java.awt.event.*下<br />
1.组件类事件<br />
ComponnentEvent,ContainerEvent,FocusEvent,MouseEvent,PaintEvent,WindowEvent共六类<br />
它们均是组件的状态发生变化时产生.<br />
2.动作类事件<br />
ActionEvent,TextEvent,ItemEvent,AdjustmentEvent共四类，它们均对应用户的某一功能性的操作<br />
<br />
事件编程步骤:<br />
1.实现某一监听器接口(定义事件处理类并事件监听器接口).<br />
2.在事件处理类中重写其事件处理的函数体.<br />
3.在创建AWT组件时注册事件处理代码以指定该监听器(响应者)是谁.<br />
<br />
多重监听器：<br />
1.针对同一个事件源的组件的同一事件可以注册多个事件监听器.<br />
2.针对同一个事件源的组件的多个事件可以注册同一个事件监听器进行处理.<br />
3.同一个监听器可以被注册到多个不同的事件源上.<br />
<br />
事件适配器：<br />
&nbsp;由于事件监听器接口逝abstract类型类型,意味着实现该接口的类必须重写其所有的方法,但实际应用中可能&nbsp;只&nbsp;要实现某些事件处理响应代码，此时若采用实现事件监听器接口可能会导致编程变得更复杂，JDK中提供事件适配器来实现事件编程.<br />
<br />
1.没有种监听器接口都有相应的适配器类.<br />
2.在事件注册时，应将监听器设为适配器类的子类对象，使适配器类事件中响应函数.</p>
<img src ="http://www.blogjava.net/xiao314/aggbug/182803.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiao314/" target="_blank">冰枫逸范</a> 2008-02-28 23:06 <a href="http://www.blogjava.net/xiao314/archive/2008/02/28/182803.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA GUI布局管理器</title><link>http://www.blogjava.net/xiao314/archive/2008/02/28/182667.html</link><dc:creator>冰枫逸范</dc:creator><author>冰枫逸范</author><pubDate>Thu, 28 Feb 2008 05:55:00 GMT</pubDate><guid>http://www.blogjava.net/xiao314/archive/2008/02/28/182667.html</guid><wfw:comment>http://www.blogjava.net/xiao314/comments/182667.html</wfw:comment><comments>http://www.blogjava.net/xiao314/archive/2008/02/28/182667.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiao314/comments/commentRss/182667.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiao314/services/trackbacks/182667.html</trackback:ping><description><![CDATA[<p>1.FlowLayout:流式布局管理器，是Panel类型容器的默认布局管理器。<br />
布局效果：组件在容器中按加入顺序逐行定位，行内从左到右，一行满后换行，默认对齐方式为居中对齐。<br />
常用的构造方法：<br />
Public FlowLayout():默认<br />
Public FlowLayout(int align): 创建FlowLayout并设置对齐方式。<br />
Public FlowLayout(int align ,int hgap, int vagp):创建FlowLayout并设置对齐方式，组件的垂直和水平间距。<br />
FlowLayout.LEFT&nbsp; 左对齐<br />
FlowLayout.RIGHT&nbsp; 右对齐<br />
FlowLayout.CENTER&nbsp; 居中对齐<br />
</p>
<p>2.BorderLayout 边界布局管理器，是Window及子类(Frame,Dialog)的默认布局管理器。<br />
组件布局效果：将整个容器分为：东，西，南，北，中(East,West,South,North,Center)五部分，组件只能被添加到指定的区域，默认加的Center区域,每个区域只能加入一个组件。东，西为垂直缩放，南，北为水平缩放。<br />
构造方法： <br />
Public BorderLayout():创建默认布局管理器。<br />
Public BorderLayout(int h,int v):指定水平和垂直间距.<br />
用一下5个常量来表示5个地域<br />
BorderLayout.EAST<br />
BorderLayout.WEST<br />
BorderLayout.NORTH<br />
BorderLayout.SOUTH<br />
BorderLayout.CENTER<br />
例如：&nbsp; f.add(button,"Sourth") == f.add(button,BorderLayout.SOURTH) 但第二种方法相对要好些。<br />
</p>
<p>3.GridLayout 网格布局。<br />
布局效果：将容器划分为规则的矩形网格，每个单元格大小相等.<br />
Public GridLayout();默认设置，所有组件在同一行中,各占一列.<br />
Public GridLayout(int rows,int cols): 指定行数和列数.<br />
Public GridLayout(int rows,int cols, int h,int v):指定行数，列数和垂直，水平间距.<br />
</p>
<p>4.CardLayout:卡片式布局<br />
布局效果：将多个组件在同一容器区域内交替显示，相当于多张卡片叠在一起，只有最上面一张可见。<br />
常用方法：<br />
Public void first(Contains paren)&nbsp;&nbsp;&nbsp;&nbsp;翻转到指定容器的第一张卡片.<br />
public void Last(Contains paren)&nbsp;&nbsp;&nbsp;&nbsp;翻转到指定容器的最后一张卡片.<br />
public void Previous(Contains paren)&nbsp;&nbsp;&nbsp;&nbsp;翻转到指定容器的前一张卡片.<br />
Public void next(Contains paren) 翻转到指定容器的下一张卡片.<br />
public void show(Contains paren,String name) 翻转到已添加到此布局的具有指定名称的组件，如果不存在，则不会发生任何操作.</p>
<img src ="http://www.blogjava.net/xiao314/aggbug/182667.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiao314/" target="_blank">冰枫逸范</a> 2008-02-28 13:55 <a href="http://www.blogjava.net/xiao314/archive/2008/02/28/182667.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>