🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.lang.java
Article #22220

Java���˼��---��2�� һ�ж��Ƕ���

#22220
From: �˺�2��
Date: Tue, 28 Oct 2003 01:39
547 lines
61911 bytes
��������C++Ϊ����Java��һ�ָ�������������������ԡ���
����C++����Java�������Ӻ����ԡ�����Java�У�����߾��������Ӻϲ�������C++����
ô��Ҫ���Ӻ�����������ö��ֱ�̷��֮����˵C++��һ���Ӻ����ԣ�����Ϊ��֧��
��C���Ե�����������������C++��C��һ�����������԰��������Զ��Ǻ��߲��߱�
�ģ���Щ����ʹC++��ijЩ�ط��Եù��ڸ��ӡ�
Java�������ȱ�ٶ�������ֻϣ������������ij�����ơ�Ҳ����˵����ʽ�������
֮ǰ�������Ƚ��Լ���˼��ת��һ�������������磨�������ϰ������������˼ά
��ʽ����ֻ���������׼��������������OOP������ȣ�������ᵽJava����ѧ���á���
���£����ǽ�̽��Java����Ļ�����������Ϊʲô˵Java����Java�����ڵ�һ�ж�
�Ƕ���
2.1 �þ����ݶ���
ÿ�ֱ�����Զ����Լ�����ݴ��?ʽ����Щʱ�򣬳���Ա����ʱ������׼���������
ʲô���͡���������һЩ�����﷨ֱ�Ӳ�������󣬻����һЩ��ӱ�ʾ�Ķ�����
C��C++���ָ�룩��
������Щ��Java�ﶼ�õ��˼򻯣��κζ������ɿ���������ˣ����ǿɲ���һ��ͳһ
���﷨���κεط�����հ᲻�󡣵�Ҫע�⣬���ܽ�һ�ж������������󣬵����ݵı�
ʶ��ʵ����ָ��һ������ġ����Handle����������Java�ο�������ɿ����е�
�˽������һ�������á�������һ����ָ�롱���ɽ���һ�����������ң�ذ壨���
���ݵ��ӻ���󣩡�ֻҪ��ס���ң�ذ壬���൱������������ӻ����ӵ�ͨ������
һ����Ҫ����Ƶ�������ߡ���С������������ʵ�ʲ��ݵ���ң�ذ壨�������ң��
���Լ����ݵ��ӻ���󣩡����Ҫ�ڷ������Ĵ����ߣ����뱣�ֶԵ��ӻ�Ŀ��ƣ���
ô�������ŵ���ң�ذ壬��ǵ��ӻ�
���⣬��ʹû�е��ӻ�ң�ذ���ɶ������ڡ�Ҳ����˵��ֻ������ӵ��һ�����
����ʾ������һ������ͬ�����ӡ��������������һ���ʻ���ӣ��ɴ���һ��String��
��
String s;
�����ﴴ����ֻ�Ǿ�����Ƕ�������ʱ��s����һ����Ϣ���ͻ���һ��������
���ڣ�����������sʵ�ʲ�δ���κζ������ӣ�����û�е��ӻ�����ˣ�һ�ָ�ȫ
�������ǣ�����һ�����ʱ����ס������ζ����г�ʼ����
String s = "asdf";
Ȼ��������õ���һ���������ͣ��ִ����ü���ŵ����ֳ�ʼ����ͨ��������Ϊ����
ʹ��һ�ָ�ͨ�õij�ʼ�����͡�
2.2 ���ж��󶼱��봴��
�������ʱ������ϣ����ͬһ���¶������ӡ�ͨ����new�ؼ��ִﵽ��һĿ�ġ�new����
˼�ǣ������ұ����Щ�����һ�������͡�������������������У�����˵��
String s = new String("asdf");
���ָ�������ұ��һ�����ִ�����Ҳͨ���ṩһ����ʼ�ִ���ָ���ˡ���������
�����ִ�����
��Ȼ���ִ���String������Ψһ�����͡�Java�����ṩ�������ڶ���ֳ����͡�������
����������Ҫ�ľ��Ǽ�ס�����д������͡���ʵ�ϣ���Ӧ��Java������Ƶ�һ����
�����Ǽ�������ಿ��ѧϰ�Ļ�
2.2.1 ���浽ʲô�ط�
��������ʱ��������ö���ݱ��浽ʲô�ط��������������ر�Ҫע������ڴ�ķ�
�䡣������ط������Ա�����ݣ�
(1) �Ĵ������������ı���������Ϊ��λ�ں��������б��淽ʽ��ͬ�ĵط�������
���ڲ���Ȼ��Ĵ���������ʮ�����ޣ����ԼĴ����Ǹ����Ҫ�ɱ��������䡣���Ƕ�
��û��ֱ�ӵĿ���Ȩ��Ҳ���������Լ��ij������ҵ��Ĵ������ڵ��κ��ټ���
(2) ��ջ��פ���ڳ���RAM�������ʴ洢�������򣬵���ͨ����ġ���ջָ�롱��ô�
���ֱ��֧�֡���ջָ���������ƣ��ᴴ���µ��ڴ棻�������ƣ�����ͷ���Щ�ڴ档
����һ���ر�졢�ر���Ч����ݱ��淽ʽ�������ڼĴ�������������ʱ��Java������
����׼ȷ��֪����ջ�ڱ����������ݵġ����ȡ��Լ�������ʱ�䡱���������������
�����Ӧ�Ĵ��룬�Ա����Ϻ������ƶ�ָ�롣��һ��������Ӱ���˳��������ԣ�����
������ЩJava���Ҫ�����ڶ�ջ����ر��Ƕ�����Java���󲢲��ŵ����С�
(3) �ѡ�һ�ֳ�����;���ڴ�أ�Ҳ��RAM���򣩣����б�����Java���󡣺Ͷ�ջ��ͬ��
���ڴ�ѡ��򡰶ѡ���Heap���������˵ĵط����ڱ���������֪��Ҫ�Ӷ��������ٴ�
���ռ䣬Ҳ����֪���洢�����Ҫ�ڶ���ͣ���೤��ʱ�䡣��ˣ��öѱ������ʱ���
����������ԡ�Ҫ�󴴽�һ������ʱ��ֻ����new���������صĴ��뼴�ɡ�ִ����Щ
����ʱ�����ڶ����Զ�������ݵı��档��Ȼ��Ϊ�ﵽ��������ԣ���Ȼ�Ḷ��һ����
��ۣ��ڶ������洢�ռ�ʱ�Ứ�����ʱ�䣡
(4) ��̬�洢�����ġ���̬����Static����ָ��λ�ڹ̶�λ�á�������Ҳ��RAM���
���������ڼ䣬��̬�洢����ݽ���ʱ�Ⱥ���á�����static�ؼ���ָ��һ���������
��Ԫ���Ǿ�̬�ġ���Java��������Զ���������뾲̬�洢�ռ䡣
(5) ����洢������ֵͨ��ֱ�����ڳ�������ڲ����������ǰ�ȫ�ģ���Ϊ������Զ��
����ı䡣�еij�����Ҫ�ϸ�ر��������Կɿ��ǽ���������ֻ���洢����ROM����
(6) ��RAM�洢���������ȫ������һ������֮�⣬���������ʱ�Կɴ��ڣ����ڳ���
�Ŀ��Ʒ�Χ֮�⡣������������Ҫ�����ӱ��ǡ���ʽ���󡱺͡��̶����󡱡�������ʽ
���󣬶�������ֽ�����ͨ���ᷢ����һ̨����������ڹ̶����󣬶��󱣴��ڴ���
�С���ʹ������ֹ���У������Կɱ����Լ���״̬���䡣������Щ���͵���ݴ洢��һ
���ر����õļ��ɾ��������ܴ���������ý���С�һ����Ҫ�������ܽ����ǻָ�����ͨ
�ġ�����RAM�Ķ���Java 1.1�ṩ�˶�Lightweight persistence��֧�֡�δ���İ汾
���������ṩ������ķ�����
2.2.2 �����������Ҫ����
��һϵ�������ر�Դ�ɽ���������ɡ���������Ҫ�����ߡ�������Primitive��
���ͣ����г������ʱҪƵ���õ����ǡ�֮����Ҫ�ر�Դ���������new����������
����С�ġ��򵥵ı����������Ƿdz���Ч����Ϊnew���������ڡ��ѡ��������Щ����
��Java��������C��C++��ͬ�ķ�����Ҳ����˵��������new�������������Ǵ���һ������
���ġ��Զ���������������������˾����ֵ�������ڶ�ջ�У��ܹ����Ч�ش�ȡ��

Java������ÿ����Ҫ���͵Ĵ�С�������ڴ����������������Щ��С�������Ż�����
���ı仯��仯�����ִ�С�IJ��ɸ������Java������к�ǿ��ֲ������ԭ��֮һ��
������ ��С ��Сֵ ���ֵ ��װ������
boolean 1λ - - Boolean
char 16λ Unicode 0 Unicode 2��16�η�-1 Character
byte 8λ -128 +127 Byte��ע�͢٣�
short 16λ -2��15�η� +2��15�η�-1 Short��ע�͢٣�
int 32λ -2��31�η� +2��31�η�-1 Integer
long 64λ -2��63�η� +2��63�η�-1 Long
float 32λ IEEE754 IEEE754 Float
double 64λ IEEE754 IEEE754 Double
Void - - - Void��ע�͢٣�
�٣���Java 1.1���У�1.0��û�С�
��ֵ����ȫ�����з�ţ���ţ��ģ����Բ��طѾ�Ѱ��û�з�ŵ����͡�
���������Ҳӵ���Լ��ġ���װ������wrapper���ࡣ����ζ�ż������ö���һ������Ҫ
�����ʾ�Ǹ������ͣ���Ҫʹ�ö�Ӧ�ķ�װ�������磺
char c = 'x';
Character C = new Character('c');
Ҳ����ֱ��ʹ�ã�
Character C = new Character('x');
��������ԭ�����Ժ���½�����͡�
1. �߾�������
Java 1.1�����������࣬���ڽ��и߾��ȵļ��㣺BigInteger��BigDecimal����������
���¿��Ի���Ϊ����װ�������ͣ������߶�û�ж�Ӧ�ġ������͡���
�������඼���Լ�����ġ�����������Ӧ���������������ִ�еIJ�����Ҳ����˵����
��int��float�������飬��BigInteger�� BigDecimalһ���������ֻ�DZ���ʹ�÷�����
�ã�����ʹ���������⣬����ǣ���࣬���������ٶȻ���һЩ�������������ٶ�
���������˾��ȡ�
BigInteger֧�����⾫�ȵ�����Ҳ����˵�����ǿɾ�ȷ��ʾ�����С������ֵ��ͬʱ
���������в��ᶪʧ�κ���Ϣ��
BigDecimal֧�����⾫�ȵĶ������֡����磬��������о�ȷ�ı�ֵ���㡣
���ڵ�����������ʱ��ѡ�õĹ������ͷ����������вο���������ĵ���
2.2.3 Java������
�������г���������Զ�֧�����顣��C��C++��ʹ�������Ƿdz�Σ�յģ���Ϊ��Щ����
ֻ���ڴ�顣����������Լ��ڴ����������飬�����ڳ�ʼ��֮ǰʹ���ڴ棨���ڳ�
���̴��󣩣�������Ԥ��ĺ��ע�͢ڣ���
�ڣ���C++�Ӧ������Ҫʹ�����飬���ñ�׼ģ��⣨Standard TemplateLibrary����
��ȫ��������
Java��һ����Ҫ���Ŀ����ǰ�ȫ�ԡ�������C��C++�����ų���Ա��������ⶼδ��Ja
va���ظ���һ��Java���Ա�֤����ʼ�������Ҳ�������ķ�Χ֮����ʡ�����ϵͳ�Զ�
���з�Χ��飬���Ա�ȻҪ����һЩ��ۣ����ÿ�����飬�Լ��������ڼ�������У
�飬��������������ڴ濪���ɴ˻��ص��Ǹ�ߵİ�ȫ�ԣ��Լ���ߵĹ���Ч�ʡ�
Ϊ�˸�����������ֵ�õġ�
������������ʱ��ʵ�ʴ�������һ��������顣����ÿ�������Զ���ʼ����һ����
��ֵ���������Լ��Ĺؼ��֣�null���գ���һ��Java����null����֪���þ��δָ��
һ��������ʽʹ��ǰ������Ϊÿ��������һ����������ͼʹ����ȻΪnull��һ
�����ͻ��������ڱ������⡣��ˣ����͵����������Java��͵õ��˱��⡣
Ҳ���Դ������������顣ͬ��أ��������ܹ���������ij�ʼ������Ϊ�Ὣ�Ǹ������
�ڴ滮�ֳ��㡣
�������⽫���Ժ���½�����ϸ���ۡ�
2.3 ��Բ�Ҫ������
�ڴ���������������У������ġ�����ʱ�䡱��Lifetime��һֱ�dz���Ա��Ҫ���ؿ�
�ǵ����⡣����Ӧ����೤��ʱ�䣿������������ô��ʱ���У��ڱ�������ʱ����
���������ɴ����ij�������������С�������ʾJava��ΰ��������������
��������Ӷ���˼���������⡣
2.3.1 ������
��������������Զ��ṩ�ˡ������򡱣�Scope���ĸ���������������ﶨ�������
��������ͬʱ��������ġ��ɼ��ԡ��Լ�������ʱ�䡱����C��C++��Java���������
�ɻ����ŵ�λ�þ����ġ��ο�����������ӣ�
73ҳ����
��Ϊ���������ﶨ���һ����������ֻ�����Ǹ����������֮ǰ�ſ�ʹ�á�
������������У������Ű�ʹJava������ױ��������Java��һ����ʽ���ɵ����ԣ���
�Զ���Ŀո��Ʊ�λ�Լ��س�������Խ��������Ӱ�졣
ע�⾡����C��C++���ǺϷ��ģ�����Java�ﲻ��������������д���룺
74ҳ�ϳ���
����������Ϊ����x�ѱ����塣����C��C++�ܽ�һ�����������ء���һ��������������
��������������Java���Dz�����ģ���ΪJava���������Ϊ������ʹ��������˻���

2.3.2 �����������
Java���󲻾߱���������һ��Ĵ���ʱ�䡣��new�ؼ��ִ���һ��Java�����ʱ�����
����������ķ�Χ֮�⡣���Լ���ʹ��������δ��룺
{
String s = new String("a string");
} /* ��������յ� */
��ô���s������������յ㴦��ʧ��Ȼ��sָ���String������Ȼռ�����ڴ�ռ䡣
��������δ��������û�а취���ʶ�����Ϊָ�����Ψһһ������ѳ���������
��ı߽硣�ں�����½����һ������ѧϰ����ڳ��������ڼ䴫�ݺ͸��ƶ����
��
������ɵĽ����ǣ�������new�����Ķ���ֻҪ����Ը�⣬���Ǿͻ�һֱ������ȥ��
������������C��C++���ر�ͻ����������C++���������鷳������ڲ��ܴ����Ի��
�κΰ�����������Ҫ�����ʱ�򣬸��޷�ȷ�������Ƿ���á����Ҹ��鷳���ǣ���
C++�һ��������ɣ����뱣֤���������
����������һ����Ȥ�����⡣����Java�ö�����Ȼ���ң�������ܷ�ֹ���Ǵ������
�ڴ棬��������ɳ���ġ���̡��ء���C++���������������Աͷʹ����Java�Ժ�
�����ȴ�����˸Ĺۡ�Java��һ���ر�ġ������ռ���������������new���������ж�
�󣬲����������Щ���ٱ����á��������Զ��ͷ�����Щ���ö���ռ�ݵ��ڴ棬��
�������¶���ʹ�á�����ζ�����Ǹ��ز����ڴ�Ļ������⡣ֻ��򵥵ش�������
��һ��������Ҫ���ǣ����Ǿͻ��Զ���ȥ���������ɷ�ֹ��C++��ܳ����һ���������
�����ڳ���Ա����ͷ��ڴ���ɵġ��ڴ��������
2.4 �½�������ͣ���
���˵һ�ж������Ƕ�����ô��ʲô����һ�����ࡱ��Class�����������Ϊ�أ�����
��˵����ʲô��������һ������ġ����͡���Type���أ���ҿ��ܲ�����һ����Ϊ��ty
pe���Ĺؼ��֡�������ʷ����������������������Զ��ùؼ��֡�class���������һ
����˼������׼�����������һ�������͵���ۡ���class�ؼ���̫�����ˣ������ڱ���
���ط���û���ô����ֻ�˫��ż���ǿ����������ؼ��ֵĺ��棬Ӧ�ø����������
�͵���ơ����磺
class ATypeName {/*��������������}
�����������һ�������ͣ������������new�����������͵�һ���¶���
ATypeName a = new ATypeName();
��ATypeName�������ֻ��һ��ע�͹��ɣ��Ǻź�б���Լ����е����ݣ����º��滹��
��ϸ�����������Բ����ܶ�����̫������顣��ʵ�ϣ����Ϊ�䶨����ijЩ����������
����ָʾ�����κ����顣
2.4.1 �ֶκͷ���
����һ����ʱ��������Java���ȫ���������Ƕ����ࡢ������Щ��Ķ����Լ�����Ϣ��
����Щ���󣩣������Լ������������������͵�Ԫ�أ���ݳ�Ա����ʱҲ�С��ֶΡ���
�Լ���Ա����ͨ���С��������������У���ݳ�Ա��һ�ֶ���ͨ����ľ������ͨ
�ţ�������Ϊ�κ����͡���Ҳ�����������ͣ������Ǿ��֮һ�������ָ������һ
�����������ʼ���Ǹ������һ����Ϊ��������������4�»�Դ������������⺯
������һ��ʵ�ʶ��������������������ȿ���������ʹ��new�ؼ��֣���������һ��
�����ͣ�������ඨ��λ��ֱ�ӳ�ʼ�����������ῴ��������������ڶ���λ��
��ʼ������
ÿ������Ϊ�Լ�����ݳ�Ա���д洢�ռ䣻��ݳ�Ա�����ڶ���֮�乲�?�����Ƕ�
����һЩ��ݳ�Ա����ʾ��
76ҳ�ϳ���
����ಢû�����κ�ʵ���Ե����飬�����ǿɴ���һ������
DataOnly d = new DataOnly();
�ɽ�ֵ������ݳ�Ա�������ȱ���֪���������һ������ij�Ա��Ϊ�ﵽ���ö����Ա
��Ŀ�ģ�����Ҫд�϶���������֣��ٸ���һ����ţ���㣩���ٸ�������ڲ���Ա
�����֡�����������.��Ա�������磺
d.i = 47;
d.f = 1.1f;
d.b = false;
һ������Ҳ���ܰ�����һ�����󣬶���һ��������������������޸ĵ���ݡ�����
������⣬ֻ�豣�֡����Ӿ�㡱���ɡ����磺
myPlane.leftTank.capacity = 100;
���������֮�⣬DataOnly����Ҳ�������������飬��Ϊ��û�г�Ա���������
Ϊ��ȷ��⹤��ԭ�?���ȱ���֪�����Ա������͡�����ֵ���ĸ���������Ͼͻ���
�ӽ��͡�
1. ����Ա��Ĭ��ֵ
��ij���������������һ�����Ա����ô��ʹ����ȷ����ʽ�����г�ʼ����Ҳ���Ա�֤
���ǻ��һ��Ĭ��ֵ��
������ Ĭ��ֵ
Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
һ����������Ϊ���Աʹ�ã���Ҫ�ر�ע����Java�����Ĭ��ֵ���������ɱ�֤������
�ij�Ա�����϶��õ��˳�ʼ����C++���߱���һ���ܣ�������Ч��ֹ������صı�̴���
��
Ȼ�����ֱ�֤ȴ���������ڡ��ֲ�������������Щ��������һ������ֶΡ����ԣ���
����һ����������д���������룺
int x;
��ôx��õ�һЩ���ֵ������C��C++��һ��ģ��������Զ���ʼ�����㡣������������
��ʽʹ��xǰ����һ���ʵ���ֵ�������ǣ��ͻ�õ�һ�������ڴ��󣬸������DZ�����
����δ��ʼ�������ִ�������Java����C++�ı���֮һ�����C++��������Ա���δ��ʼ
���������棬����Java��ȴ�Ǵ���
2.5 �������Ա����ͷ���ֵ
���Ϊֹ������һֱ�á�����Function�������ָ��һ�������������̡�����Ja
va����õ�һ����ȴ�ǡ���������Method������?���ij�µ�;��������������
����ʵ����ͬһ����˼���������ڿ�ʼ�����齫һֱʹ�á������������ǡ�����
��
Java�ġ�������������һ�������ܹ����յ���Ϣ��ͨ��ڵ�ѧϰ����һ�֪��������
�����ж�ô�򵥣�
�����Ļ���ɲ��ְ������֡��Ա��������������Լ����塣���������������ʽ
��
�������� ������( /* �Ա����б�*/ ) {/* �������� */}
����������ָ���÷���֮�󷵻ص���ֵ���͡���Ȼ��������������ǶԾ���ķ�������
��ʶ�����á��Ա����б��г����봫�ݸ�����Ϣ���ͺ���ơ�
Java�ķ���ֻ����Ϊ���һ���ִ�����ֻ�����ij���������һ��������ע�ۣ͢�����
���Ǹ���������ܹ�ִ���Ǹ��������á�����ͼΪһ��������ô���ķ������ͻ��ڱ�
���ڵõ�һ��������Ϣ��Ϊһ��������÷���ʱ����Ҫ���г���������֣��ں������
һ����㣬�ٸ��Ϸ������Լ���IJ����б?�༴��������.������(�Ա���1���Ա���2
���Ա���3...)���ٸ�������˵������������һ���������f()����û���Ա��������ص�
������Ϊint��һ��ֵ����ô��������һ����Ϊa�Ķ��󣬿�Ϊ����÷���f()���������
�£�
int x = a.f();
����ֵ�����ͱ������x�����͡�
���������һ���������ж�ͨ���������������һ����Ϣ����������������У���Ϣ
��f()���������a���������ij������ͨ���򵥵ع���Ϊ�����������Ϣ����
�ۣ��������Ͼ�Ҫѧ����������̬���������������ã�����һ������
2.5.1 �Ա����б�
�Ա����б�涨�����Ǵ��͸�����ʲô��Ϣ�������һ����Ѳµ���������Щ��
Ϣ������ͬJava�������κζ����������õĶ��Ƕ������ʽ����ˣ����DZ������Ա���
�б���ָ��Ҫ���ݵĶ������ͣ��Լ�ÿ����������֡�������Java����ط��������ʱ
һ������ʵ�ʴ��ݵ��ǡ����ע�͢ܣ���Ȼ��������ͱ�����ȷ������ϣ��
�Ա�����һ�����ִ�������ô���ݵı�����һ���ִ���
�ܣ�����ǰ���ἰ�ġ����⡱�������boolean��char��byte��short��int��long����f
loat�Լ�double��˵��һ�����⡣���ڴ��ݶ���ʱ��ͨ������ָ����ָ�����ľ��

���������ǿ��ǽ�һ���ִ���Ϊ�Ա���ʹ�õķ����������г����Ƕ�����룬���뽫��
����һ���ඨ��������޷����룺
int storage(String s) {
return s.length() * 2;
}
�����������������Ҫ�����ֽڲ�������һ���ض��ִ������Ϣ���ִ����ÿ���ַ�
��16λ������˵2���ֽڡ��������Ա��ṩ��Unicode�ַ��֧�֣����Ա���������Ϊ
String�����ҽ���s��һ����s���ݸ����Ϳɽ������������һ���?�����䷢
����Ϣ������������ǵ��õ��� length()����������String�ķ���֮һ���÷�������
����һ���ִ�����ַ���
ͨ����������ӣ�Ҳ�����˽�return�ؼ��ֵ����á�����Ҫ���������顣���ȣ�����ζ
�š��뿪�����������깤�ˡ�����Σ����跽�������һ��ֵ�����Ǹ�ֵ������return
���ĺ��档����������£�����ֵ��ͨ�������ʽ��s.length()*2�������ġ�
�ɰ��Լ���Ը����������ͣ����������뷵���κζ������Ϳ�ָʾ��������void����
���������г�һЩ���ӡ�
boolean flag() { return true; }
float naturalLogBase() { return 2.718; }
void nothing() { return; }
void nothing2() {}
����������Ϊvoid����return�ؼ���Ψһ�����þ����˳�����������һ���ִ﷽��ĩβ
���ùؼ��ֱ㲻��Ҫ�ˡ������κεط���һ���������ء���������ָ����һ�ַ�void��
�������ͣ���ô���۴Ӻεط��أ�����������ȷ�����Ƿ��ص�����ȷ�����͡�
����Ϊֹ����һ����ѵõ��������һ��ӡ��һ������ֻ��һϵ�ж���ļ��ϣ�����
�ķ��������������Ϊ�Լ����Ա���ʹ�ã����ҽ���Ϣ������Щ��������˵��������
ȷ����ͨ���Ժ��ѧϰ����һ���֪�������һ���������������ߣ���һЩ��ϸ�µĻ�
�㹤����������һ�£�ֻ�������Ϣ���;��㹻�ˡ�
2.6 ����Java����
��ʽ�����Լ��ĵ�һ��Java����ǰ�����м���������Ҫע�⡣
2.6.1 ���ֵĿɼ���
�����г�����������һ�����ɱ���������Ƕ����ֻ���ƵĿ��ơ��������ڳ����
ij��ģ����ʹ����һ�����֣�����һ�����Ա����һ��ģ����ʹ������ͬ�����֡���ʱ
���������������֣�����ֹ�������ֻ����ͻ�أ����������C�������ر�ͻ������Ϊ
����δ�ṩ�ܺõ����ֹ��?����C++���ࣨ��Java��Ļ�Ƕ��ʹ������ĺ���ʹ
�䲻����ͬ���������Ƕ�׺������ͻ��Ȼ��C++��Ȼ����ʹ��ȫ������Լ�ȫ�ֺ���
��������Ȼ���Ա����ͻ��Ϊ���������⣬C++�ö���Ĺؼ��������ˡ�����ռ䡱��
���
���ڲ���ȫ�µĻ��ƣ�����Java����ȫ������Щ���⡣Ϊ�˸�һ���������ȷ�����֣�
��������Internet�������Ƶ����֡���ʵ�ϣ�Java������߹������Ա��תʹ���Լ���
Internet������Ϊ���ǿ϶��Ƕ�һ�޶��ġ������ҵ�������BruceEckel.com��������
��ʵ�ù��߿�Ϳ�����Ϊ com.bruceeckel.utility.foibles����ת������󣬿ɽ����
�������Ŀ¼��
��Java 1.0��Java 1.1�У�����չ��com��edu��org��net�ȶ�Լ��Ϊ��д��ʽ�����Կ�
�����Ӿͱ�ɣ�COM.bruceeckel.utility.foibles��Ȼ����Java 1.2�Ŀ�������У�
����߷��������������һЩ���⡣����Ŀǰ������������Сд��ĸΪ��׼��
Java���������������ζ�������ļ����Զ��������Լ�������ռ������һ���ļ���
��ÿ���඼�Զ����һ����һ�޶��ı�ʶ��Ȼ��һ���ļ�������������Ψһ�ģ�
�����Բ���ѧϰ���������֪ʶ�����������⡪�����Ա����Ѱ������չ˵���һ�㡣

2.6.2 ʹ���������
һ��Ҫ���Լ��ij�����ʹ��һ��Ԥ�ȶ���õ��࣬�������ͱ���֪������ҵ���Ȼ
���������ܾ��ڷ������õ��Ǹ���ͬ��Դ���ļ����������������ֻ��򵥵�ʹ
������༴�ɡ�����ʹ��ֱ���ļ��ĺ�����δ�õ����塣Java����ˡ���ǰ���á�����
�⣬���Բ�Ҫ������Щ���顣
�������Ǹ���λ�������ļ����أ��������Ϊ������Ӧ���㹻�����ˡ����������з���
��ʵ�鲢����ˡ�����������ʹ��һ�������ض���Ƶ��࣬���Ǹ���Ķ���λ�ڶ�
���ļ�����߸��㣬��������׼��дһ�����򣬵��ڴ������ʱ��ȴ���Լ��Ŀ��
����һ�����࣬��������ij��������ַ����˳�ͻ��
Ϊ���������⣬�����������DZ�ڵġ�������������Ϊ�ﵽ���Ŀ�ģ�Ҫ��impo
rt�ؼ���׼ȷ����Java����������ϣ�������ʲô��import ��������ָʾ����������һ
�����������˵һ������⡱��������������ɽ����⡱�����һϵ�к�����
���Լ���ļ��ϡ������ס��Java�����д��붼����д��һ�����У���
�����ʱ������ֱ�Ӳ������Ա�׼Java�����������������ɣ������������������
�ṩ�ġ�ʹ����Щ���ʱ��û�б�Ҫ�����߳��ı�������ٸ�������˵��ֻ��������
����дһ�д��뼴�ɣ�
import java.util.Vector;
��������Ǹ��߱�����������ʹ��Java��Vector�ࡣȻ��util���������ڶ���࣬
������ʱϣ��ʹ�����еļ�����ͬʱ����ȫ����ȷ���������ǡ�Ϊ�ﵽ���Ŀ�ģ���ʹ
�á�*��ͨ���������ʾ��
import java.util.*;
�赼��һϵ����ʱ�����õ�ͨ��������취��Ӧ��������һ��һ���ص����ࡣ
2.6.3 static�ؼ���
ͨ�������Ǵ�����ʱ��ָ���Ǹ���Ķ�����������Ϊ�������new�����Ǹ����һ����
�󣬷���ʵ���ϲ�δ�õ��κζ�����ֻ��ִ����new�󣬲Ż���ʽ�����ݴ洢�ռ䣬��
��ʹ����Ӧ�ķ�����
������������������£����������������á�һ��������ֻ����һ���洢����������һ
���ض�����ݡ�������Ҫ�������ٸ���������������������һ��������������
Ҫһ������ķ�������û�����������κζ��������Ҳ����˵����ʹû�д�������
Ҳ��Ҫһ���ܵ��õķ�����Ϊ�������������Ҫ�󣬿�ʹ�� static����̬���ؼ��֡�һ
����ʲô������Ϊstatic����ݻ򷽷��Ͳ���ͬ�Ǹ�����κζ���ʵ����ϵ��һ����
�Ծ��ܴ�δ�����Ǹ����һ���������ܵ���һ��static�����������һЩstatic���
��������֮ǰ�����ڷ�static��ݺͷ��������DZ��봴��һ�����󣬲����Ǹ��������
��ݻ򷽷����������ڷ�static��ݺͷ�������֪�����Dz����ľ�����󡣵�Ȼ������
ʽʹ��ǰ������static��������Ҫ�����κζ����������Dz��ɼ򵥵ص���������Щ��
Ա��ͬʱ������һ��������Ķ��󣬴Ӷ�ֱ�ӷ��ʷ�static��Ա�򷽷�����Ϊ��static
��Ա�ͷ�������ͬһ���ض��Ķ��������һ�𣩡�
��Щ������������ʹ���ˡ�����ݡ��͡��෽�������������������ζ����ݺͷ�
��ֻ��Ϊ��Ϊһ������������ڵģ�������Ϊ�Ǹ�����κ��ض�������ʱ�������
����һЩJava�鿯�﷢������ijƺ���
Ϊ�˽���ݳ�Ա�򷽷���Ϊstatic��ֻ���ڶ���ǰ�ú�����ؼ��ּ��ɡ����磬������
�������һ��static��ݳ�Ա���������ʼ����
class StaticTest {
Static int i = 47;
}
���ڣ�������������������StaticTest���󣬵�������Ȼֻռ��StaticTest.i��һ����
���ռ䡣���������󶼹���ͬ���i���뿼���������룺
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
��ʱ������st1.i����st2.i����ͬ���ֵ47����Ϊ�������õ���ͬ����ڴ�����
�������취������һ��static��������������չʾ�������ͨ��һ��������������
st2.i�����ֱ��������������ã������ڷǾ�̬��Ա�����в�ͨ�ģ����������취��
��static��������Ϊ��ǿ�����Ǹ������ġ���̬�����ʣ���
StaticTest.i++;
���У�++������ʹ������ֵ����ʱ������st1.i����st2.i��ֵ����48��
���Ƶ��߼�Ҳ�����ھ�̬�������ȿ���������κη�������ͨ��һ���������þ�̬����
�������������﷨��ʽ������.����()���������á���̬�����Ķ��������Ƶģ�
class StaticFun {
static void incr() { StaticTest.i++; }
}
���пɿ�����StaticFun�ķ���incr()ʹ��̬���i��ֵ��ͨ����󣬿��õ��͵ķ�����
��incr()��
StaticFun sf = new StaticFun();
sf.incr();
���ߣ�����incr()��һ�־�̬���������Կ�ͨ�������ֱ�ӵ��ã�
StaticFun.incr();
�����ǡ���̬���ģ���ֻҪӦ����һ����ݳ�Ա���ͻ���ȷ�ı���ݵĴ�����ʽ��һ��
��һ����Ա���Լ�ÿ������һ���Ǿ�̬��Ա������Ӧ����һ����������û����ôϷ�绯
�ˡ��Է�����˵��staticһ����Ҫ����;���ǰ��������ڲ��ش��������ǰ���µ�����
�������������Ժ�ῴ����������һ����������Ҫ�ġ����ر����ڶ�������������
����main()��ʱ��
�������κη���һ��static����Ҳ�ܴ����Լ����͵�����������Ծ�����static��
����Ϊһ������ͷ��ʹ�ã��������һϵ���Լ����͵ġ�ʵ��
2.7 ���ǵĵ�һ��Java����
�����������ʽ��һ������ע�͢ݣ������ܴ�ӡ���뵱ǰ���е�ϵͳ�йص����ϣ�
������������Java��׼���System����Ķ��ַ�����ע������������һ�ֶ����ע����
ʽ����//�������ʾ�����н���ǰ���������ݶ���ע�ͣ�
84ҳ����
�ݣ���ijЩ��̻�������������Ļ��һ�ж������û��ῴ�����ɽ�������
�δ�������main()��ĩβ��������ͣ�����
try {
Thread.currentThread().sleep(5 * 1000);
} catch(InterruptedException e) {}
}
�����������ͣ���5���ӡ���δ����漰��һЩ����Ҫ���������Żὲ��������Ŀǰ
�������ֻ֪�������ó�����ͣ��һ�����ɱ�ɡ�
��ÿ�������ļ��Ŀ�ͷ�����������һ��import��䣬�����Ǹ��ļ��Ĵ�����Ҫ�õ���
���ж�����ࡣע������˵�����ǡ����⡱�ģ���Ϊһ������������Զ�����ÿ��Ja
va�ļ���java.lang���������Web��������鿴��Sun�ṩ���û��ĵ��������δ��htt
p: //www.java.sun.com���أ���������ʽ��װ��Java�ĵ������������أ�����packa
ges.html�ļ�����ҵ�Java�����ṩ�����������ơ���ѡ�����е�java.lang���ڡ�
Class Index�����棬���ҵ������Ǹ����ȫ������б?����java.langĬ�Ͻ���ÿ��
Java�����ļ���������Щ�����κ�ʱ�򶼿�ֱ��ʹ�á�������б���ɷ���System��
Runtime��������Property.java���õ������ǡ�java.lang��û���г�Date�࣬���Ա���
������һ��������ʹ����������һ���ض��������ĸ������������������
���࣬����Java�û��ĵ���ѡ��Class Hierarchy������ּ��ṹ������Web�������
����ȻҪ�����̵�ʱ������������ṹ����������ҵ���Java�����ṩ��ÿһ���ࡣ��
�󣬿���������ġ����ҡ���Find�����������ؼ��֡�Date������������󣬿ɷ���
���ǵ�����Ŀ����java.util.Date����ʽ�г�����������֪����λ��util������Ա�
�뵼��java.util.*������㲻��ʹ��Date��
�۲�packages.html�ĵ��ͷ�IJ��֣����ѽ�����Ϊ�Լ���Ĭ����ʼҳ������ѡ��jav
a.lang����ѡSystem����ʱ�ɿ��� System���м����ֶΡ���ѡ��out���Ϳ�֪������һ
��static PrintStream�����������ǡ���̬���ģ����Բ���Ҫ���Ǵ����κζ�����ou
t����϶���3������ֻ��ֱ������ɡ������ܶ����out��������������������;���
��PrintStream��PrintStream��˵����������һ�������ӵ���ʽ�г�����һ�����÷dz�
���㡣���Լ��������Ǹ����ӣ��Ϳɿ����ܹ�ΪPrintStream���õ����з�������������
�����٣�����������ϸ���ܡ���Ŀǰ��˵�����Ǹ���Ȥ��ֻ��println()�������˼��
�����Ҹ���Ķ�����ӡ������̨������һ�����н����������κ�Java�����У�һ��
Ҫ��ijЩ���ݴ�ӡ������̨���Ϳ����������д�� System.out.println("����")��
�������ļ���һ��ġ�������������һ�������ij����ļ��е�һ����������ļ�
ͬ�����û���������������ἰʱ������Ӧ������������һ����Ϊmain()�ķ���
����ʽ���£�
public static void main(String[] args) {
���У��ؼ��֡�public����ζ�ŷ��������ⲿ������ã���5�»���ϸ���ͣ���main()��
�Ա����ǰ���String�����һ�����顣args�����ڱ��������õ�������Ҫ������ط�
�г�����Ϊ���DZ������������е��õ��Ա�����
����ĵ�һ�зdz���Ȥ��
System.out.println(new Date());
��۲�����Ա���������Date����Ψһ��Ŀ�ľ��ǽ����ֵ���͸�println()��һ�����
���ִ����ϣ�Date�Ͳ�����Ҫ����֮�����ġ������ռ������ᷢ����һ�����������
�ο��ܵ�ʱ������ա���ʵ�ϣ�����û̫��ı�Ҫ���ġ�����ϸ�ڡ�
�ڶ��е�����System.getProperties()������Web������鿴�����û��ĵ����Ϳ�֪��g
etProperties()��System ���һ��static�������������ǡ���̬���ģ����Բ��ش�����
�ζ����ɵ��ø÷����������Ƿ���ڸ����һ������static������ʱ����ʹ�á���
�� getProperties()ʱ����Ὣϵͳ������ΪProperties���һ��������ɣ�ע��Prop
erties�ǡ����ԡ�����˼�������ĵľ�����һ����Ϊp��Properties�����ڵ�
���У���ҿɿ���Properties������һ����Ϊlist()�ķ��������Լ���ȫ�����ݶ���
��һ��������Ϊ�Ա������ݵ�PrintStream����
main()�ĵ��ĺ͵������ǵ��͵Ĵ�ӡ��䡣ע��Ϊ�˴�ӡ���Stringֵ���üӺţ�+����
�����Ǽ��ɡ�Ȼ��ҲҪ������ע��һЩ��ֵ����顣�� String������ʹ��ʱ���ӺŲ�
���������ġ���ӡ��������ִ�ʱ������ͨ�����ؿ��ǡ�+�����κ����⺬�塣���ǣ�
Java��String��Ҫ��һ����Ϊ���������ء��Ļ��Ƶ���Լ��Ҳ����˵��ֻ������ͬSt
ring����ʹ��ʱ���ӺŲŻ�����������κεط���ͬ�ı��֡������ִ��������˼�ǡ�
�����������ִ�����
�����鵽�˲�δ������۲�������䣺
System.out.println("Total Memory = "
+ rt.totalMemory()
+ " Free Memory = "
+ rt.freeMemory());
���У�totalMemory()��freeMemory()���ص�����ֵ������String�������һ����ֵ
���ӡ���һ���ִ����ϣ��ᷢ��ʲô����أ�ͬ����һ�������Ҳ����ʶ���������
����ħ����ص���һ�����������Ǹ���ֵ��int��float�ȵȣ�ת�����ִ�����������
�����ǵ�Ȼ�����üӺš��ӡ���һ�����֡��Զ�����ת�����໮�롰�������ء�
����ķ��롣
���Java�����������ҵر��ۡ��������ء���C++��һ�����ԣ��Ƿ����á�Ŀǰ���Ƿ�
�����һ�������ӣ�Ȼ�������ֻ��������������򣩵����⣬����ֻ�Ƕ�String��
����ԡ������Լ���д���κ�Դ���룬��������ʹ�������ء���
ͨ��ΪRuntime�����getRuntime()������main()�ĵ����д�����һ��Runtime���󡣷�
�ص�����ָ��һ��Runtime����ľ����ң����Dz��ع�������һ����̬���󣬻�����
new�������һ�����������������Dz���Ϊ��������𣬿��Դ�ģ�����ʹ�ö���
��������ʾ������Runtime�ɸ����������ڴ�ʹ���йص���Ϣ��
2.8 ע�ͺ�Ƕ���ĵ�
Java�����������͵�ע�͡���һ���Ǵ�ͳ�ġ�C���Է���ע�ͣ��Ǵ�C++�̳ж����ġ�
��Щע����һ����/*����ͷ�������ע�����ݣ����ɿ�Խ���У������һ����*/������
��ע��������Ա������ע�����ݵ�ÿһ�ж���һ����*����ͷ�����Ծ����ܿ���������
��������ݣ�
/* ����
* һ��ע�ͣ�
* ���Խ�˶����
*/
�����ס�����б���ʱ��/*��*/֮������ж������ᱻ���ԣ���������ע�����������
ע�Ͳ�û��ʲô��ͬ��
/* ����һ��ע�ͣ�
���Խ�˶���� */
�ڶ������͵�ע��Ҳ��Դ��C++������ע�ͽ���������ע�͡�����һ����//����ͷ����ʾ
��һ�е��������ݶ���ע�͡��������͵�ע�͸��ã���Ϊ����дʱ��㡣û�б�Ҫ
�ڼ�����Ѱ�ҡ�/������Ѱ�ҡ�*����ֻ�谴ͬ��ļ����Σ������Ҳ�����ע�ͽ�βʱ��
һ�������ǡ������������ע�͵�һ�����ӣ�
// ����һ������ע��
2.8.1 ע���ĵ�
����Java���ԣ��������һ����ƾ�����û�д���������Ϊ��д�����д���򡪡���
��Ҳ��Ҫ���dz�����ĵ������⡣���ڳ�����ĵ�������������Ī���ڶ��ĵ���ά��
�����ĵ��������룬��ôÿ�θı�����Ҫ�ı��ĵ��������ɻ����൱�鷳��һ
�����顣����ķ����������ƺ��ܼ򵥣�������ͬ�ĵ������ӡ� ������Ϊ�ﵽ���Ŀ��
����򵥵ķ����ǽ��������ݶ�����ͬһ���ļ���Ȼ��Ϊʹһ�ж����뻮һ��������
ʹ��һ�������ע���﷨���Ա��dz�������ĵ������⻹��Ҫһ�����ߣ�������ȡ��
Щע�ͣ������м�ֵ����ʽ����չ�ֳ�������Щ����Java���������ġ�
������ȡע�͵Ĺ��߽���javadoc��������˲�������Java�������ļ�����������������
���������ע�ͱ�ǡ������ȡ����Щ���ָʾ����Ϣ��Ҳ������ע�͵�����򷽷�
����ȡ����������һ�������ǾͿ�������Ĺ����������ʮ��רҵ�ij����ĵ���
javadoc�������һ��HTML�ļ��������Լ���Web������鿴���ù����������Ǵ����͹�
�?��Դ�ļ�������������õ��ĵ�����������jvadoc�����������ܹ��ñ�׼�ķ���
�����ĵ�������������dz����㣬�������������ɻ������Java����ĵ���
2.8.2 �����﷨
����javadoc���ֻ�ܳ����ڡ�/**��ע���С�����ƽ��һ��ע�ͽ�����һ����*/��
����Ҫͨ�����ַ�ʽ��ʹ��javadoc��Ƕ���HTML����ʹ�á��ĵ���ǡ������У����ĵ�
��ǡ���Doc tags����һЩ�ԡ�@����ͷ���������ע���е���ʼ������ǰ���ġ�*��
�ᱻ���ԣ���
���������͵�ע���ĵ������Ƕ�Ӧ��λ��ע�ͺ����Ԫ�أ��ࡢ�������߷�����Ҳ����
˵��һ����ע�����λ��һ���ඨ��֮ǰ������ע�����λ�ڱ�������֮ǰ����һ����
���������λ��һ�����������ǰ�档����������򵥵�������ʾ��
/** һ����ע�� */
public class docTest {
/** һ������ע�� */
public int i;
/** һ������ע�� */
public void f() {}
}
ע��javadocֻ��Ϊpublic����������protected���ܱ�������Ա����ע���ĵ�����priv
ate����˽�У��͡��Ѻá������5�£���Ա��ע�ͻᱻ���ԣ����ǿ������κ������Ҳ
������-private��ǰ���private��Ա�������������е���ģ���Ϊֻ��public�� prot
ected��Ա�ſ����ļ�֮��ʹ�ã����ǿͻ�����Ա��ϣ��Ȼ��������ע�Ͷ����
�������
��������������һ��HTML�ļ�����������Java�ĵ�������ͬ�ı�׼��ʽ����ˣ��û�
��dz���Ϥ���ָ�ʽ����������Ƶ����з���ء����Ρ�����Ƴ���ʱ������ؿ�����
���������룬��javadoc����һ�£��ۿ�����HTML�ļ���Ч����Ρ�
2.8.3 Ƕ��HTML
javadoc��HTML����ݸ�������ɵ�HTML�ĵ������ʹ�����ܹ��������HTML�ľ޴���
������Ȼ�����ǵ����ն����Ǹ�ʽ�����룬����Ϊ�˻���ȡ�衣�����г�һ�����ӣ�
/**
* <pre>
* System.out.println(new Date());
* </pre>
*/
�����������Web�ĵ�����������HTML������ͨ�ı����и�ʽ����ʹ�������?�����
�ۣ�
/**
* ��<em>����</em>���Բ���һ���б?
* <ol>
* <li> ��Ŀһ
* <li> ��Ŀ��
* <li> ��Ŀ��
* </ol>
*/
ע�����ĵ�ע���У�λ��һ���ͷ���ǺŻᱻjavadoc����ͬʱ����Ļ���ǰ���ո�
��javadoc����������ݽ��и�ʽ����ʹ�����׼���ĵ�������Ҫ��<h1>��<hr>��
��ı��⵱��Ƕ��HTMLʹ�ã���Ϊjavadoc������Լ��ı��⣬���Ǹ���ı������֮��
ײ��
�������͵�ע���ĵ������ࡢ�����ͷ���������֧��Ƕ��HTML��
2.8.4 @see������������
�����������͵�ע���ĵ����ɰ�@see��ǣ�������������������������ĵ���������
����ǣ�javadoc�������Ӧ��HTML������ֱ�����ӵ������ĵ�����ʽ���£�
@see ����
@see ��������
@
--
  "`  O|    "    jVHT   T ~ ""    "    
�� ��Դ:���ɽ��ˮ bbs.neu.edu.cn��[FROM: 219.216.70.3]
Technical Details
Message-ID: <492e4B$Bey@bbs.neu.edu.cn>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEU

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: f6cb0,706c3a5512adea25,start
X-Google-Attributes: gidf6cb0,public
X-Google-ArrivalTime: 2003-10-27 17:40:09 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!NEU
From: amou.bbs@bbs.neu.edu.cn (�˺�2��)
Newsgroups: cn.bbs.comp.lang.java
Subject: Java���˼��---��2�� һ�ж��Ƕ���
Date: 28 Oct 2003 01:39:41 GMT
Organization: ��ɽ��ˮ
Message-ID: <492e4B$Bey@bbs.neu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: java/M.1067305163.A
Lines: 547