四虎亚洲精品高清在线观看,亚洲中文字幕伊人久久无码,亚洲xxxx18http://www.tkk7.com/galaxyly/My javaWorldzh-cnMon, 12 May 2025 09:00:09 GMTMon, 12 May 2025 09:00:09 GMT60JAVA3D包功能介紹http://www.tkk7.com/galaxyly/archive/2007/04/15/110752.html銀河海盜銀河海盜Sun, 15 Apr 2007 03:06:00 GMThttp://www.tkk7.com/galaxyly/archive/2007/04/15/110752.htmlhttp://www.tkk7.com/galaxyly/comments/110752.htmlhttp://www.tkk7.com/galaxyly/archive/2007/04/15/110752.html#Feedback3http://www.tkk7.com/galaxyly/comments/commentRss/110752.htmlhttp://www.tkk7.com/galaxyly/services/trackbacks/110752.html閱讀全文

銀河海盜 2007-04-15 11:06 發表評論
]]>
向上轉型中子類將能看到父類被覆蓋字段的現象探討http://www.tkk7.com/galaxyly/archive/2007/03/31/107614.html銀河海盜銀河海盜Sat, 31 Mar 2007 03:31:00 GMThttp://www.tkk7.com/galaxyly/archive/2007/03/31/107614.htmlhttp://www.tkk7.com/galaxyly/comments/107614.htmlhttp://www.tkk7.com/galaxyly/archive/2007/03/31/107614.html#Feedback2http://www.tkk7.com/galaxyly/comments/commentRss/107614.htmlhttp://www.tkk7.com/galaxyly/services/trackbacks/107614.html

我們知道,在子類繼承父類之后,如果子類與父類有同名的字段和方法,那么子類中的子段會代替或隱藏父類的子段,說明子類字段覆蓋了超類字段,但可以通過super關鍵字去訪問超類字段。但是,在我們將子類對象向超類轉型的時候就會發生這個奇怪的現象,子類對象居然可以看到父類曾經被覆蓋掉的字段!就正如下面例子中一樣:

?1?class?A{
?2?????boolean?bb?=false;
?3?}
?4?
?5?public?class?B?extends?A{
?6?????boolean?bb?=?true;
?7?????//int?a=1;
?8?????public?static?void?main(String[]?args)?{
?9?????????B?b?=new?B();
10?????????A?a?;
11?????????a=?b;
12?????????//---??
13?????????System.out.println(a.bb);
14?????????//---這句可以理解
15?????????System.out.println(b.bb);
16?????????//---??
17?????????System.out.println(?((A)b).bb);
18?????????//----
19?????}
20?????/*運行結果
21??????*?false
22??????*?true
23??????*?false
24??????*?*/
25?}

為什么會發生這樣的情況呢?
關于這種情況的解釋在[美]Peter van der Linden著的《Just Java2》中有了答案:
P106他說:
???一定要注意:當把子類轉換成超類時,子類可以見到或訪問被隱藏的同名變量。Java允許名字重復的原因是,允許將來把新的字段加到超類中,而不影響已經使用了該名字的現有子類,子類將會繼續使用自己的字段副本。除非讓子類以超類對象的形式出現,方法可以覆蓋,但是字段不能被覆蓋。注意:最好不要隱藏超類中的字段名。
?????
所以我們在進行向上轉型的時候一定要注意:不要訪問子類中那些“覆蓋”掉父類的字段(它并沒有真正覆蓋掉,在向上轉型的時候就可以訪問的到),要么將子類字段改名(在你知道父類代碼的情況下),要么通過方法來訪問字類字段(方法即使同名也肯定能覆蓋掉)。

銀河海盜 2007-03-31 11:31 發表評論
]]>
繼承帶參數構造器的超類并且調用自身其他構造器的討論http://www.tkk7.com/galaxyly/archive/2007/03/31/107610.html銀河海盜銀河海盜Sat, 31 Mar 2007 02:56:00 GMThttp://www.tkk7.com/galaxyly/archive/2007/03/31/107610.htmlhttp://www.tkk7.com/galaxyly/comments/107610.htmlhttp://www.tkk7.com/galaxyly/archive/2007/03/31/107610.html#Feedback0http://www.tkk7.com/galaxyly/comments/commentRss/107610.htmlhttp://www.tkk7.com/galaxyly/services/trackbacks/107610.html // 首先有一個帶參數的超類:?
class ?SuperClass {?
???String?str
= " create?superClass?obj " ;?
???SuperClass(
int ?num) {?
???????System.out.println(num
+ str);?
???}
?
}
?
/*
現在有一個子類繼承了這個超類,那么這個子類應該顯式的調用超類的構造函數,以便初始化自己的父類,如下。?
*/

class ?SubClass? extends ?SuperClass {?
???SubClass(
int ?num) {?
??????
super (num);?
???}
?
}
?
/*
現在子類還要定義一個新的構造函數,并且在前一個構造函數中調用這個新的構造函數,更改如下:?
*/

class ?SubClass? extends ?SuperClass {?
???SubClass(
int ?num) {?
??????
super (num);?
??????
this ( " other?SubClass(String) " );?
???}
?
???SubClass(String?s)
{?
??????System.out.println(s);?
???}
?
???
public ? static ? void ?main(String[]?args) {?
??????
new ?SubClass();?
???}
?
}
?
/*
由于我們知道在一個類中的構造函數中要調用自己的其他構造函數,只能通過this();的方式調用一個,并且要放在所在構造函數的第一行,但是使用super();顯式調用也父類帶參構造函數也只能放在第一行,那么這樣就會發生沖突。
*/
// 參考:?
public ? class ?SuperClass? {?
String?str
= " create?superClass?obj " ;??
?SuperClass(
int ?num) {??
???????System.out.println(num
+ str);??
???}
??
}
?
public ? class ?SubClass? extends ?SuperClass? {?
???SubClass(
int ?num) {??
??????
super (num);??
??????sub(num,
" other?Subclass(String) " );?
???}
??
???SubClass(
int ?num,String?s) {??
??????
super (num);?
??System.out.println(s);??
???}
?
???
// -------------?
???SubClass?sub( int ?num,String?s) {?
???
return ? new ?SubClass(num,s);?
???}
?
???
public ? static ? void ?main(String[]?args) {??
??????
new ?SubClass( 1 );?
???}
??
}


銀河海盜 2007-03-31 10:56 發表評論
]]>
關于名稱屏蔽討論http://www.tkk7.com/galaxyly/archive/2007/03/31/107609.html銀河海盜銀河海盜Sat, 31 Mar 2007 02:53:00 GMThttp://www.tkk7.com/galaxyly/archive/2007/03/31/107609.htmlhttp://www.tkk7.com/galaxyly/comments/107609.htmlhttp://www.tkk7.com/galaxyly/archive/2007/03/31/107609.html#Feedback1http://www.tkk7.com/galaxyly/comments/commentRss/107609.htmlhttp://www.tkk7.com/galaxyly/services/trackbacks/107609.html
public?class?SuperClass?{?
public?void?method(){?
System.out.println(
"super?method()?worked.");?
}
?
public?void?method(int?a){?
System.out.println(
"super?method(int)?worked");?
}
?
public?void?method(String?s){?
System.out.println(
"super?method(string)?worked");?
}
?
}
?
//------------sub---------------?
public?class?SubClass?extends?SuperClass?{?
??
public?void?method(){?
??System.out.println(
"subclass?method()?worked");?
??}
?
??
public?void?method(int?a){?
??
super.method(a);?
??}
?
??
public?void?method(char?c){?
??System.out.println(
"subclass?method(char)?worked");?
??}
?
}
?
//------------run---------------?
public?class?Test?{?
public?static?void?run(SuperClass?a){?
a.method();?
a.method(
1);?
a.method(
"string");?
}
?
public?static?void?main(String[]?args)?{?
run(
new?SubClass());?
new?SubClass().method('r');?
}
?
}
?
//=============END===============?
subclass?method()?worked?
super?method(int)?worked?
super?method(string)?worked?
subclass?method(
char)?worked?
//=============END===============?



銀河海盜 2007-03-31 10:53 發表評論
]]>
解決linux環境下jsp+mysql數據庫中文亂碼的問題http://www.tkk7.com/galaxyly/archive/2007/01/14/93796.html銀河海盜銀河海盜Sun, 14 Jan 2007 12:04:00 GMThttp://www.tkk7.com/galaxyly/archive/2007/01/14/93796.htmlhttp://www.tkk7.com/galaxyly/comments/93796.htmlhttp://www.tkk7.com/galaxyly/archive/2007/01/14/93796.html#Feedback0http://www.tkk7.com/galaxyly/comments/commentRss/93796.htmlhttp://www.tkk7.com/galaxyly/services/trackbacks/93796.html

經過一個星期的艱苦奮斗終于解決了這個問題,特將經驗摘錄下來備忘。本文將解決以下的幾種亂碼問題。

中文存入 mysql 數據表出現的亂碼,從 JSP 頁面讀取 mysql 中文數據出現亂碼,以及在 sell 環境下查看數據庫表中文數據出現亂碼。

linux平臺:ubuntu6.10

mysql版本:5.0

瀏覽器:firefox2.0

為了解決中文亂碼的問題首先就是要同一字符集,我采用utf-8

第一步:安裝mysql后,修改配置文件/etc/mysql/my.cnf 找到相應項并添加如下字段,如下所示:(注意是添加,配置文件中其他不相關的內容下面并沒有列出來)

[client]

default-character-set=utf8

[mysqld_safe]

default-character-set=utf8

[mysqld]

default-character-set=utf8

[mysql]

default-character-set=utf8

重新啟動mysql服務,進入sell終端,進入mysql的命令提示符下輸入如下指令:

mysql>show variables like '%char%';

如果出現的列表各項內容和以下相同表明配置成功了,

+---------------------+---------------------

| Variable_name | Value

+-----------------------+---------------------

| character_set_client | utf8

| character_set_connection | utf8

| character_set_database | utf8

| character_set_filesystem | binary

| character_set_results | utf8

| character_set_server | utf8

| character_set_system | utf8

| character_sets_dir | /usr/share/mysql/charsets/

+---------------------+----------------------

第二步:在要發送中文或者要讀取中文的JSP頁面(最好所有頁面)都添加如下聲明:

<%@page pageEncoding="UTF-8"%>

<%@ page contentType="text/html;charset=utf-8"%>

<% request.setCharacterEncoding("utf-8"); %>

<head>標簽對中添加如下:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

注意在servlet中對請求進行響應的方法中同樣要有:

response.setContentType("text/html;charset=utf-8");


第三步:(由于不明原因firefox發送的請求仍然是latin1的時候執行這一步)

在將請求的參數插入數據庫之前還要再執行一次轉碼(latin1編碼轉換為utf-8),例如:

String utf8_str = new String( latin_str .getBytes("latin1"),"utf-8");

這一步可以寫在一個過濾器中,不怕麻煩也可以在每一次在將請求數據插入之前都進行一次轉碼。


另外:在連接數據庫的時候可以不用加上字符集參數了,直接用用戶名和密碼連接就可以了,如連接:

con=DriverManager.getConnection("jdbc:mysql://localhost:3306/數據庫名","用戶名","密碼");



銀河海盜 2007-01-14 20:04 發表評論
]]>
主站蜘蛛池模板: 99re6在线精品视频免费播放| 日韩精品无码永久免费网站| 免费人成在线观看网站品爱网| 亚洲精品无码久久久久| 国产免费伦精品一区二区三区| 国产亚洲精品资在线| 大片免费观看92在线视频线视频| 亚洲高清无码在线观看| 国产V片在线播放免费无码| 国产亚洲情侣一区二区无| 中文精品人人永久免费| 亚洲狠狠婷婷综合久久久久| 精品国产污污免费网站| 无码亚洲成a人在线观看| 久久er国产精品免费观看8| 日本视频一区在线观看免费| 亚洲欧洲日韩国产综合在线二区| 在线人成精品免费视频| 亚洲国产成人精品无码区在线秒播| 免费国产作爱视频网站| 亚洲aⅴ无码专区在线观看| 亚洲精品无码日韩国产不卡?V| 成人毛片100免费观看| 久久精品国产亚洲av影院| 美女视频黄免费亚洲| 综合一区自拍亚洲综合图区| 亚洲性猛交XXXX| 国产免费毛不卡片| 免费一区二区无码视频在线播放 | 亚洲色欲色欲www| 亚洲AⅤ视频一区二区三区| 三年片在线观看免费西瓜视频| 亚洲国产视频网站| 免费国产怡红院在线观看| 国内少妇偷人精品视频免费| 亚洲中文字幕久久精品无码2021| 国产精品嫩草影院免费| 久久久久久国产精品免费免费男同| 亚洲一区精彩视频| 精品亚洲综合在线第一区| 午夜宅男在线永久免费观看网|