专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » java学习笔记:java笔记 »正文

java学习笔记:java笔记

来源: 发布时间:星期五, 2009年4月3日 浏览:0次 评论:0
、Java中char类型是16位其范围是0??65536没有负数char在java 中char是个子集JAVA中文站社区门户)wXiD/R6^W~.o
2、ASCII集占用了Unicode前127个值
qwXH7Eu 3、Java 自动类型转换:两个条件(1、这2种类型是兼容2、目类型数范围比原类型大;)JAVA中文站社区门户#C4B~%M%D#~ M
JAVA中文站社区门户rMx3n/yHb Z&r d
第 6章
M&K,V%G H3q1U x1A.UJAVA中文站社区门户@*a#AC ou7t p2f+c-u
运算符是在运行期间为对象分配内存即动态性;但内存是有限因此 有可能由于内存不足而无法给个对象分配内存此时就会出现异常
6|)kz3|I:Y3f&U
4MQQ Crh!\;C 2、类是个逻辑构造对象有物理真实性;
p zD a[HJAVA中文站社区门户C o`.^!qoH
3、当将个对象引用赋值给另个对象时你并没有创建对象个拷贝而是仅仅对引用个拷贝JAVA中文站社区门户Mi1fC8gUb H'vKe

{~T1Ei(] ] 4、构造任务就是个对象内部状态以便使创建例子变量能够完全可以被对象马上使用 创建对象时每个对象被他构造指定参数JAVA中文站社区门户WJk&?0j
JAVA中文站社区门户*}7ey;Z%gc
第 7章
s Cfy b1qAv{
-o#m)] \r、思路方法重载:同个类中两个或两个以上思路方法可以有同个名字只要他们参数声明区别即可他是实现多态性种思路方法
{E @|)|-y@%] 2、思路方法重载支持多态性他是java 实现“个接口多个思路方法”范型种方式重载价值在于他允许相关思路方法可以使用同个名字来访问
8H.bZ5A2l"vZg 3、当创建自己类时为了方便高效构造对象必须为同构造提供多种形式JAVA中文站社区门户YvM(E k+|n
JAVA中文站社区门户cSZ6V a1D8Y/U
4、总来说计算机语言给子传递参数思路方法有两种:1按值传递(call-by-value);2、引用(call-by-reference)JAVA中文站社区门户lf9c\C4T
JAVA中文站社区门户(oI HLQ\@r
个简单类型传递给个思路方法时使用按值传递;对象传递则按引用传递
YrP5c yg*|+GJAVA中文站社区门户W'Y J;D:u k;Oc"V8cW1b
JAVA中文站社区门户'B0E&g/JBC`
5、 封装将数据和处理数据代码连接起来同时也提供另个重要属性:访问控制(access control)个成员被访问取决和修改他声明访问指示符(access specier)java访问指示符有public、private、protected.protected仅用于继承情况中外部类对他private成员变量进行访问只能通过他public 思路方法在大多数实际应用类中有必要仅仅允许通过思路方法来对数据操作
,M,gl7` D j*M%]Wr-BJAVA中文站社区门户1oi8\2V-I1t9L3O1k
JAVA中文站社区门户I{VE.ZO@,]4~+X,B
6 、关键字可使个类成员使用完全独立和该类任何对象即他能够在他任何对象创建的前被访问而不必引用任何对象 成员最常见例子是()执行时必须变量实质就是全局变量当声明个对象时并不产生变量拷贝而是该类所有例子变量共用同变量JAVA中文站社区门户n apT,\

Ti6c+HQ5xN#FG声明为思路方法有以下几条限制:
y8`k8r\N1、他们仅能其他思路方法2、他们只能访问数据3、他们不能以任何方式引用this或superJAVA中文站社区门户%cv:l{9c%\A h
思路方法中引用任何例子变量都是非法JAVA中文站社区门户2KYn`i3Bzef

(p&Xm(JR2pS 8、个被声明为final变量是不可修改这就意味着必须再声明final变量时对他进行JAVA中文站社区门户a^|7rs/U W

eC^ Vx 9、java中是作为对象来实现所有都拥有length例子变量length仅反映了能够包含元素个数
0rO$@+q'g k?%G8],nJAVA中文站社区门户+|o(ElP'{m
○、嵌套类:在另个类中定义类就是嵌套类(nested es)
B%~2IuDwZ若A嵌套B则B可访问A所有成员包括private成员;而A不可以 访问B任何成员嵌套类在处理applet时特别有帮助JAVA中文站社区门户lF D!t$O\_,l d

;C%{p q)k*Sa;tU
7g7cvb@#d)jc9E4hh、String类:(串)
X@-C%c.A+I @在java中所创建包括串常量 都是类型个对象和其他类型对象也可以组成JAVA中文站社区门户v+_`s)k"M!{[G
JAVA中文站社区门户IV7V(M*@e2|
2、命令行参数:
u6X0P;i-_dLjava中命令行参数是作为串存储在传递给JAVA中文站社区门户x*c*fd.q S)Z&v

sAU,w-]6x第 8章 继承(extends)JAVA中文站社区门户b[cl2G3s IC1?

$n!K:poZ rM6d!U、尽管子类中包括超类所有成员他不能访问超类中被声明为private成员个被定义为private 类成员为此类私有他不能被该类外所有代码访问包括子类
{ c8u'D1rZm^
?I2Gp t*S(X~ 2、 继承本质: 旦已创建了个定义了对象般属性超类该超类可以被继承以生成特殊用途JAVA中文站社区门户J0I"J8DmN4}i&APA
JAVA中文站社区门户mS$Se ^t
3、超类变量可以引用子类对象:
+Hk0C(Y0L3klN~g#{JAVA中文站社区门户xE9Hb]i
是引用变量类型??而不是引用对象类型??决定了什么成员可以被访问即 当个子类对象引用被赋值给个超类变量时只能访问超类定义对象部分
-@8M7M4z,X,c r 4、super 两种通用形式:1、超类构造;2、用来访问被子类成员隐藏超类成员个子类super,他直接超类构造这样super 总是引用类直接超类还有super()必须是子类构造个执行语句 java支持多级类层次结构
7BG*V"o4t^){+p继承部分价值:他允许代码重用构造以派生顺序被
_t*N{$r/{9m.YQ3B
%p(RG d*QK(W 5、思路方法重载:(8、5内容)JAVA中文站社区门户N't%x2mOx$hx*Q
在类层次结构中若子类中个思路方法和他超类中思路方法有同样思路方法名和类型声明称子类中思路方法重载(override)超类中思路方法当从子类中重载思路方法时他总是引用子类定义思路方法而超类中思路方法将被隐藏思路方法覆盖仅在两个思路方法名称和类型声明都相同时才发生如果他们区别那两个思路方法就只是重载
(c"r.~s#tpJAVA中文站社区门户je`^xVE
思路方法重载构成java个最强大概念基础:动态思路方法调度(dynamic method dispatch)动态思路方法调度是种在运行时而不是在编译时重载思路方法机制 过程如下:当个重载思路方法通过超类引用被java根据当前被引用对象类型来决定执行哪个版本思路方法若引用对象类型区别就会个重载思路方法区别版本即:是被引用对象类型(而不是引用变量类型)决定执行哪个版本重载思路方法因此若超类包含个被子类重载思路方法那么当通过超类引用变量引用区别对象类型时就会执行该思路方法区别版本JAVA中文站社区门户6D W~!B1X#j
重载思路方法允许java支持运行时多态性多态性是面向对象编程本质重载思路方法是java实现他个接口多个思路方法”种方式JAVA中文站社区门户%\}4Pw8?;` r

7na GO1Op 6、使用抽象类:JAVA中文站社区门户 K~9ZRf`wD
JAVA中文站社区门户R|5j/s&w;b
当创建自己类库时会发现超类中思路方法没有实际意义并不罕见有两种思路方法处理这种情况1、仅报告信息;2、通过子类重载该思路方法使他对子类有意义
M%y!IO%h任何含有抽象思路方法类都必须声明为抽象类抽象类没有对象个抽象类不能通过操作符直接例子化而且不能定义抽象构造或抽象静态思路方法所有抽象类子类都必须执行超类中所有抽象思路方法或者他自己也声明为abstract
V#z]g I})hQ7YP
0?wX9w2^#Hvd&o
v}s$r#P2x%NhR&}e尽管不可能创建个Figure类型对象但可以创建个Figure类型引用变量变量figref声明为Figure个引用即他可以用来引用任何从Figure派生对象JAVA中文站社区门户uT)~G@](P
JAVA中文站社区门户!c;Z*k7R*r+u"V
7、Final关键字 3个用途:1、创建个已命名常量等价物;其他两个使用方法是应用于继承:2、使用final 防止继承 ; 3、防止思路方法重载JAVA中文站社区门户d*?pxd

u kd B'O3_Z.P%v
-IXU-q Y mos在类的前加final可防止类被继承;声明个final类就含蓄宣告他所有思路方法都是final.
C9Zbma*b
3?]6sh1i TJAVA中文站社区门户z$w'bB$i

w/~9t-y0DW第 9章JAVA中文站社区门户dR'I/V*zc%K;hq
JAVA中文站社区门户va9GVT7cX
接口不定义任何实现尽管他和抽象类相似接口有个特殊功能:类可以实现多个接口相反类只能继承个超类
D v+M5MX
3z n.ZZ*f,e4njava源可以包含下面 4个内部部分任何个:
S dXc D$L#a1、单个接口声明(可选) 2、任意数目引入语句(可选)3、单个公共类声明(必须)4、对包来说是私有任意数目类(可选)
eq#\#tz&OEe!QJAVA中文站社区门户H%R:j,en&Q&k)O&dv
、包(package):包既是命名机制也是可见度控制机制可在包内定义类且在包外代码不能访问类package语句定义了个存储类名字空间java用文件系统目录来存储包目录名必须和包名完全匹配
2@YinS(x,n.}vJAVA中文站社区门户[.NL&|7{/PR9G
类是java最小抽象单元类和包相互影响java将类成员可见度分为 4个种类:JAVA中文站社区门户1BU}F@ |!D9{o
1、相同包中子类;2、相同包中非子类;3、区别包中子类;4、既不在相同包又不在相同子类中
Q#FH,P}
5A3{`N@/X?{!h
b"f"~feY2|^u若希望个元素在当前包外可见但仅仅是元素所在类子类直接可见则把元素定义为protected.
P I ToEMQJAVA中文站社区门户3t.c6}L3o#TjH|W(O%hYM
个类只有两个控制级别:默认或公共个类声明为public,他可以被任何其他代码访问若该类默认访问控制符他仅可以被相同包中其他代码访问个包被引用仅仅是该包中声明成public项目可以在引入代码中对非子类可用
5j C6R+]z }Q
z1tUrr@ 2、接口(erface ):用erface可以指定个类必须做什么而不是规定他如何去做
BW#\0rhD#D@_1、接口真正含义:接口和类处于区别层次中且和类层次无关类实现相同接口是可行JAVA中文站社区门户+wcE] js(f.N
2、在接口中指定思路方法没有默认实现每个包含接口类必须实现所有思路方法
*Nq2rpmz3、实现接口思路方法必须声明为public,而且实现思路方法类型必须严格和接口定义中指定类型相匹配JAVA中文站社区门户y^f Qz9kT?h
4、个接口引用变量仅仅知道被他接口定义声明思路方法
~ w9hRO%i9JY5、可以把变量定义成使用接口对象引用而不是类类型任何实现了所声明接口例子都可以被这样个变量引用当通过这些引用思路方法时再实现引用接口例子基础上思路方法被正确 代码在完全不知“者”情况下可以通过接口来调度
?P m[ o
9F8t)q;s&{@oQ 6、若个类包含个接口但是不完全实现接口定义思路方法那么该类必须定义为abstract型并且任何继承这个类类也必须实现所有接口中定义思路方法或者将自己定义为abstract类
Q C"~$U8D v
$Ge6r"y9F5u6V可使用接口来引入多个类共享常量接口还可以运用关键字extends被其他接口继承其语法和继承个类实现个继承了另个接口接口时他必须实现接口继承链表中定义所有思路方法JAVA中文站社区门户8ZP,Y+t9]Xr

O te(t%k2yK}CJAVA中文站社区门户?!O1W0a7C0z[
第十章 异常处理
A-n5{7QT*VKp异常是种运行时java异常是种描述代码段中发生异常情况对象java异常处理通过5个关键字控制:try,catch,throw,throws ,finally.系统产生异常被java运行时系统自动引发手动引发个异常用关键字throw任何被引发思路方法异常都必须通过throws子句定义任何思路方法返回前绝对执行代码被放置在finally块中
5J*O bM[#^%X所有异常类都是内置类throwable子类JAVA中文站社区门户 h t8P8lN@#P!q4r
JAVA中文站社区门户;G7yH"qONr
为防止和处理个运行时只需要把所要监控代码放进个try块即可进跟着try块包括个介绍说明希望捕捉类型catch子句当使用多catch语句时异常子类必须在他们任何父类的前使用JAVA中文站社区门户v/z1G`.}*jNw9P Sh

*Qf6[,Q)o)`-y引发(throw)有两种获得throwable对象思路方法:1、在catch 子句中使用参数;2、用操作符创建执行在throw语句的后立即停止;后面任何语句不被执行
x,A^%BK[$W]DCJAVA中文站社区门户?ia]o2~J
所有java内置运行时异常有两种构造:1、没有参数;2、带有串参数当用到第 2种形式时参数指定描述异常JAVA中文站社区门户/bX2v"v4i'l
JAVA中文站社区门户xvo6Z^b"i
throws子句:列举了个思路方法可能引发所有异常类型这对于除Error或RuntimeException及他们子类以外类型所有异常是必要个思路方法可以引发异常必须在throws子句中声明若不这样做将会导致编译个思路方法可以导致个异常但不处理他他必须指定这种行为思路方法者可以保护他们自己而不发生异常作到这点可以在思路方法声明中包含个throws子句JAVA中文站社区门户~R9^;ty N

$kT-J!sYJAVA中文站社区门户1q&EqYj%M
finally创建个代码块该代码块在个try/catch块完成的后另个try/catch出现的前执行finally无论是否有异常引发都会执行
&S0{){{:h1{若finally块和个 try联合使用finally块将在try结束的前执行JAVA中文站社区门户)c9UB(}E*U$mA0|
JAVA中文站社区门户+K(V~Q)|k Qa {4u
异常处理为控制具有很多动态运行特征复杂提供了个强大机制
-@#^r!\5zJAVA中文站社区门户:AD;v/T5\7lx
java编程时当思路方法失败时引发个异常;而不是返回代码??这是处理失败模式个更简洁思路方法
:K$e-s9\`
[ Ot3b.}` Y}\SJAVA中文站社区门户Z3Tm$NS(l/b
第十章 多线程
_^Q2F2D&DJAVA中文站社区门户a]"j+KszYzO
多任务处理两种类型:基于多进程;基于多线程JAVA中文站社区门户)O7e%f@4jG#` e

5b'MO+j{PF_A在java中出现线程阻塞进有个线程暂停其他线程继续运行JAVA中文站社区门户6B.K wFO k ?

Z.o g&?I(M2H管程(monitor)??种控制机制:旦线程进入管程所有线程必须等待直到该线程退出管程
z*J*l7Av T2s.C每个对象都拥有自己隐式管程当对象同步思路方法被时管程自动载入JAVA中文站社区门户.M.TbI!W kl:J^

d$Io M[ i5eJAVA中文站社区门户,]y An+Q"G)N&tS
JAVA中文站社区门户s?,Og]
Thread 类封装了线程执行为创建个新线程必须扩展Thread或实现Runnable接口 为实现个Runnnable接口个类仅需要实现个run简单思路方法:public void run
V4Ei+}y!mBP
6Q L$N#_B在run中可以定义代码来构建新线程run思路方法可以象主线程那样其他思路方法引用其他类声明变量今有区别是run中确立另个并发线程执行入口当run返回时该线程结束
LB'NcCn
4Jit5zVJAVA中文站社区门户(`;s:}5G-\x}-e1CS
在已经创建了实现Runnable接口类以后需要在类内部例子化个Thread类对象建立新线程后他并不运行直到了他start思路方法该思路方法在Thread类中定义本质上,start执行个对runJAVA中文站社区门户z7| OY}dC+L)f
JAVA中文站社区门户f}4U'cv/A.@
运用join思路方法可确保主线程最后结束
k3E9JN3o3hA3v&F%JaAJAVA中文站社区门户5VZ i,e x Bt:c

Ge"l jl_S9aWwD线程同步:同步关键是管程(semaphore)概念他是个互斥锁定对象(互斥体)在给定时间仅有个线程可以获得管程个线程需要锁定他必须进入管程 进入某对象管程就是被synchronized关键子修饰思路方法为了退出管程并放弃对对象控制权给其他等待线程拥有管程线程仅需从同步思路方法中返回JAVA中文站社区门户+k,XPx6Lh.i

2^9V4Y&{M"t4O任何时候在多线程情况下个思路方法或多个思路方法操纵对象内部状态都必须用synchronized关键字来防止出现竞争JAVA中文站社区门户oX m|N

-I2@1y KD P5{*z7ks注意:旦线程进入例子同步思路方法没有其他线程可以进入相同例子同步思路方法然而该例子其他区别步思路方法却仍然可以被JAVA中文站社区门户-\!Pi~GI

;s yv!X&~-D ba线程间通讯:java包含了通过wait,noty和notyAll思路方法实现个进程间通讯机制这些思路方法在对象中用final思路方法实现所以所有类都含有他们且这 3个思路方法仅在synchronized思路方法中才能被
k i)M(IseT+Q(qAJAVA中文站社区门户?0p8Yb`_c sb
需要避免多任务处理有关特殊类型是死锁(deadlock)
7V'dxEC,K|
w:O bcz [5QJAVA中文站社区门户pl(]d/k.gr-H[
旦线程被终止他不能被resume恢复继续运行
~EB2x"U^3`(xrJJAVA中文站社区门户~*]M#W/k8L
JAVA中文站社区门户t9G1Z[7[,bv0pW
JAVA中文站社区门户 uX Jk&MJ,i)G!r

T:G{+Y U#_1sAE第十 2章JAVA中文站社区门户-^(z+b3g"y)z,G-w
JAVA中文站社区门户H7mUsfE
JAVA中文站社区门户)E'[6u/eWp#q6`
java通过流来完成输入输出流通过java输入输出系统和物理设备连

TAG: Java JAVA java 笔记
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: