Java学习笔记(必看经典)_New - 共33页
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ͩϯͷ㺰Ү⩗䲑ीᄨ䆐喚 仅ٷ喌䲑ीᄨ䆐さषϩㆪⰺᒴκ➘⮳̯㝛㻳ᒺȡ ᄨ䆐⮳∄⮳Ⴭ⣟㏵㞱᭞ᅾ㩬⮳喌ङᄨ䆐∄⮳Ⴭ⣟㔴ε㼒㏵㞱ȡ ∄⮳䲍፧䛼㺰ȡ∄ࣱ喌Ύञ㘬䔃իȡ
∗ᘾࡩܵ喚ᄨ䆐喈ᱛ䏚喉Ƞᄨ䆐⮳Ⴭ⣟㔴Ƞᄨ䆐⮳䄲⩗㔴ȡ ܵᲿᄨ䆐ͪ㺰Ͻ∄ᐯȡ ᝀЛ䕉䓶ㆪᲔⰺᒴᄨ䆐喌ㆪ᭞ᄨ䆐⮳䆐ȡ
Overloading ∄᭞Ͻѽी倇䒛ȡ Byte—short—float—int—long—doubleȡ
Ჳ䕏∄͜喌this 㶗ᱛㆪ⮳ڥЅᲳ䕏∄喚 student(){}; student(string n){
this();//㶗䄲⩗ student() } ັ䄲⩗ student(int a)݈ͩ this(int a)ȡ ➨∗ݚᘾ喚⩗ this 䄲⩗ڥЅᲳ䕏∄ᬥ喌this ᓴ䶪ͩせ̯Ა䄜औ喌♥ऽ᭞ڥЅ䄜औȡ
Вⴰ }
䖒 ݙjava ᄺдヨ䆄
1
∗ᘾㆪ़͜ࢄ䃼⮳仅ႆ๖ۈȡ ჍҺइ䛾喚ㆪ͜ѵЪ҄∄ͺๅȡ喈New ܩᲔ⮳ի喉 ᅯ䘗इ䛾喚∄ͺ͜⮳इ䛾ȡ ᅯ䘗इ䛾㺰ٷ䉺ի喌ڼ䔊㵻䓿テ喌㔻ჍҺइ䛾ጡ㏾䉺իȡ䔈᭞ᅯ䘗इ䛾ჍҺइ䛾⮳̯ ๖ࡩݚȡ ჍҺइ䛾⮳ᄨ䆐䉺իͩ nullȡ ᅯ䘗इ䛾ٰ̼䃧㠲ణڴ͓͙ऻ़इ䛾ȡჍҺइ䛾⮳ҋ⩗എᱛㆪ͜Ⴛڗ᩷喌ᒂ㷚ڥЅ ⮳ㆪ䄲⩗⮳ᬥՈΎञ㘬᩷ȡ ჍҺइ䛾ᅯ䘗इ䛾ٰ䃧ব़ۡ革ȡ
ㆪ∄͜⮳̯ㆪ➨₹∄喚Ჳ䕏∄ȡ Ჳ䕏∄᭞ᒂ⩗ㆪ⩎ᄨ䆐ᬥ喌㈪㐎⩎ᄨ䆐⮳䓶彡͜⮳⩗ݘ∄ȡ ∗ᘾ喚Ჳ䕏∄⩎ᄨ䆐⮳ᬥՈщ㷚䄲⩗喌ѵᎥ̼᭞Ჳ䕏∄⩎εᄨ䆐ȡ Ჳ䕏∄⇐䔃իȡᵫᐾͩ喚public ∄़ȡ Ჳ䕏∄⮳∄़̽ㆪ़Ⱗऻȡ Ჳ䕏∄᭞ᄨ䆐⩎⮳䓶彡͜㜙ߗ䄲⩗喌̼ञ㘬⩗ݘᠶГ࣪䄲⩗ȡ ̯͙ᄨ䆐⮳⩎গᱎ͜Ჳ䕏∄ङ⩗̯⁐喌̯ᬕ䔈͙ᄨ䆐⩎喌䗒ͷ䔈͙Ჳ䕏∄᩷ȡ
⁐ڥ喌䛶⩗䲑ीᄨ䆐∄ञДҮ㈪㐎ळ䘗ܵळधڥ㕻Ƞळᅬᝯ㘬ȡ ᄨ䆐ͺ䬣⮳㕕षᕖ̯㺰ѽ喈℃ັ̼ऻⰇ̼ऻͪᲮͺ䬣⮳ڢ㈪喉ȡ䔈ᵦ㘬Ү͙ᄨ䆐 ᱛ䏚։ᰯຬ⮳ȡ
ᄨνᄨ䆐⮳㺰ⅱ喚倇ڴ㖉Ƞѽ㕕ष喌䔈ᵦშᭂᠫ㷴̯͙ͩ㈪㐎ȡ Ⴭ⣟倇ڴ㖉ᅠ᭞㺰ᰯ๖䭿Ꮥѽ倇⩗ᕖ喈⩗ᕖຬ᭞ఏͩ倇ڴ㖉喉ȡ ञ⩗ᕖ᭞ OOP ⮳ഩⵯȡ
JAVA ⮳䲑ीᄨ䆐㑅彡--------䄭റぃ䃟
䲑ीᄨ䆐ͪ㺰䦷ᄨ䲑ी䓶彡ȡ 䲑ी䓶彡⮳ഩᱛࢄٲ᭞ܬȡ
ϯͷ᭞ᄨ䆐喚EVERYTHING IS OBJECT喈̶➘⮵ᄨ䆐喉
ᝯ⮳κ➘䘬͓͙䲑喚 ϯͷ喈ᆍᕖ喉喚⩗Ე䔟ᄨ䆐ȡ 㘬๎։ϯͷ喈∄喉喚ॹ䃸ๅ⩻ᄨ䆐䗒ϊߎ㘬ȡ ऽ㔴Дݼ㔴ͩഩⵯȡ ๖⮳ᄨ䆐⮳ᆍᕖΎञД᭞̯͙ᄨ䆐ȡ
⩗ㆪᲔ⩎ᄨ䆐⮳䄜औ喚 Student s=new Student()ȡ せ̯͙ Student 㶗䔈᭞⩗ Student ㆪ䔊㵻ȡ“Student()”㶗䄲⩗̯͙ᬏࣱ⮳Ჳ 䕏∄ȡ ັ()ࣱ͜喌݈㈪㐎Ჳ䕏ᄨ䆐⮳䓶彡͜䄲⩗ࣱ⮳∄ȡ ₓᬥ 6 土̯͙ͩᄨ䆐इ䛾ȡ Student s ⮳ႇࡩחഎႇᩭ⮳᭞౯喚̯͙ᄨ䆐Ⰷ̹̯͙䔍㐜౯喌仅౯䉺η V 阜䬣ȡ 6 土ͩᄨ䆐 Student ⮳ᑄ⩗ȡ ∗ᘾ喚ᄨ䆐इ䛾͜ႇᩭ⮳᭞ᑄ⩗喈౯喉喛クࢄइ䛾͜ႇᩭ⮳᭞իȡ
㺰ڪ㞞ຬ⮳㑅彡Ώᘞ喚ᅠ᭞㺰ߏ̹吇䃓⮳❥ㆪᬏࣱ⮳Ჳ䕏∄ȡ ᕌ㔲喚ञ᭞ັᝀЛ⇐ᬏࣱ⮳Ჳ䕏∄喌㔻彡Ꮎ͜Ჳ䕏εࣱ⮳Ჳ䕏∄喌䗒ͷັ ∄͜⇐ࣱ喌䗒ͷ㈪㐎䔇щ䄲⩗ࣱ⮳Ჳ䕏∄ͷ喟Ꮓ䄔̼щȡ
้ᔰ喚้ᔰᠶ⮳᭞㑅䄀ᬥㆪइࡅ喌㔻䓿㵻ᬥㆪ̼इȡ ้ᔰ͓ܵ喚 Ř 㑅䄀ᬥ้ᔰ喚㑅䄀ᬥߗᔰ䛼䒬喛 ř 䓿㵻ᬥ้ᔰ喚ᠶ̯͙ᄨ䆐ञДڦ้͙ㆪȡ
䲑ीᄨ䆐∄⮳䛼䒬喈overloading喉㺵Ⰵ喈overriding喉ȡ ϊ JAVA Εㅼ͜ᄵ overriding 土ͩ䛼䒬喌overloading 土ͩ䓶䒬ȡ
Overloading ̯͙ㆪ͜ञД้͙ऻ़∄喌ळ͙∄⮳ࣱ㶗̯̼ऻȡѵԝ亟䃼 ञ㘬Ⱗऻ喌䔃իΎञ㘬Ⱗऻȡ
彡Ꮎ⮳㑅䄀䓶彡͜ᵨᢝइ䛾ㆪᲔឭⰧᏃ⮳∄ȡఏₓΎϩ䃓ͩ overloading ᭞㑅 䄀ᬥ⮳้ᔰ喌ДऽᝀЛ䔇щ႕ݟ䓿㵻ᬥ้ᔰȡ
ञДᲳ䕏้͙Ჳ䕏∄喌ѵ้͙Ჳ䕏∄⮳ࣱ㶗̯̼ऻ喌ࣱ䶩Ꮎ̼ऻࢢᆍν̼ऻ⮳Ჳ 䕏∄喚 public student(string name,int a){ } public student(int a,string name){ } ͓͙̼ͩऻ⮳Ჳ䕏∄ȡ
䖒 ݙjava ᄺдヨ䆄
2
ັᝀЛ᱙㐈㈪㐎ӊ̯͙Ჳ䕏∄喌䗒ͷ㈪㐎щ㜙ߗӊ̯͙ͩ阜⮳Ჳ䕏∄ȡ ㏲Ώ喚͙̯ۈㆪ喌̯͙ᄨ䆐喌͓͙Ჳ䕏∄喚ࣱ̯͙喌̯͙ᬏࣱȡ 喈㑅彡͙̯ۈᎾ侻䃰ᄨ䆐⮳я䕁⮳իͩ౯喉 ∗ᘾ̺䲑䔈ᒑᐾ喚 static void changename(student stu){stu.setName “LUCY”} ∗ᘾ⩎⮳ᄨ䆐̽ᬖᄨ䆐ᠶीᬏڢ喌⩎ᄨ䆐⩎ব⊷ϐ̽ᬖᄨ䆐ᬏڢȡ
ᄨν∄⮳ԝ亟䃼喌ၿㆪ∄㺰℃❥ㆪ⮳∄㠲ణᰣߏ⮳წ∊ȡ ❥ㆪͩ public喌䗒ͷၿㆪͩ private ݈ܩ⣟䩈䄞ȡ ͺᝯДᲳ䕏∄ٷ䓿㵻❥ㆪڼ䓿㵻ၿㆪ᭞ఏͩᲳ䕏∄᭞ᬏ∄㺵Ⰵ⮳ȡ Д̺㠲ణӌ⁐⩠͔ݟწ喚 private 喚ᱛㆪ䃮䬝喛 default 喚㶗吇䃓喌̼ϴᱛㆪ䃮䬝喌㔻̓᭞ऻ࠴ञ㻰ȡ Protected喚ऻ࠴ञ㻰̼ऻ࠴⮳ၿㆪञ㻰 Public 喚㶗ᝯ⮳ञ㻰ȡ
instanceof ⩗νݓ᭞ॕᄵݼ䲑⮳ᄨ䆐इ䛾䉺իऽ䓨⮳ㆪ़ȡ Instanceof ̯㝛⩗νᑩݥㆪ䒛ᢑͺݓݼइ䛾᭞ॕञДᑩݥ䒛ᢑȡ
ັ Animal a=new Animal()喛 Dog d=Dog()a;
ₓᬥ㑅䄀ᬏ䄞喌ѵ䓿ห้องสมุดไป่ตู้݈щ។䩈ȡ
Animal a=new Dog()Ⱗᒂν̺䲑䄜औ⮳ߎ㘬喚 Animal a=getAnimal()喛 Public static Animal.getAnimal; Return new Dog()喛
ᄰ㷴喚Үᄨ䆐⮳ᆍᕖᅬञ㘬⻰喌ᄨ䆐⮳∄ᅬञ㘬⮳ڛᐯȡ⩗ private 㶗ₓইᆍᕖͩ
䖒 ݙjava ᄺдヨ䆄
3
䄔ㆪ⮳⻰ᆍᕖȡ
Public 㶗䄔ᆍᕖ喈∄喉ڛᐯ喛 Private 㶗䄔ᆍᕖ喈∄喉ͩङᱛㆪڴ䘗ञД䃮䬝喈ㆪڴ䘗ञ㻰喉ȡ 喈ᘢ⩗ private 䔇㺰⩗ set get ∄ӊڥЅ∄䄲⩗喌䔈ᵦञДԌ䃰ᄨᆍᕖ⮳䃮䬝ᐾ㐎 ̯喌Ꭵ̓Ӯν㐣៓䃮䬝ᱲ䭿Дࣹᆍᕖᢝष∄ᕖ喉 ັ⇐➨₹ᗴۤ喌ᆍᕖ̯⻰喌∄䄔ڛᐯ⮳ڛᐯȡ ັ̼ᠶᬽ䄰䄲⩗∄喌݈吇䃓ͩ thisȡ ࡩܵჍҺइ䛾ᅯ䘗इ䛾ᬥ̯㺰 ۈthisȡ
䖒 ݙjava ᄺдヨ䆄
5
ᄰ㷴Ƞ㐖ឮȠ้ᔰͩ䲑ीᄨ䆐⮳̸๖ഩⴢ喈➨ᕖ喉ȡ
䓿㵻ᬥ⮳ߗᔰㆪݓ䦷ᄨ⮳᭞∄ȡ䓿㵻彡Ꮎ䃮䬝⮳ᆍᕖϼͩ㑅䄀ᬥᆍᕖȡ
Overloading 䦷ᄨ⮳᭞㑅䄀ᬥㆪ喌̼ႇ䓿㵻ᬥ⮳้ᔰȡ
ڢ㈪䓿テさ喚instanceof a instanceof Animal;(䔈͙ᐾၿ⮳㐂᭞̯͙ጲᅃ㶗䓭ᐾ) D ͩᄨ䆐इ䛾喌Animal ᭞ㆪ़ȡ ̹䲑䄜औ᭞ݓ D ᭞ॕञД䉣 Animal ᴶキȡັञД䉣݈䔃 true喌ॕ݈䔃 falseȡ
̹䲑⮳䷇Ⱍ͜喚 a instanceof Animal 䔃 True喌 a instanceof Dog Ύ䔃 True喌
∄⮳㺵Ⰵ喈overriding喉 ∄⮳䛼䒬Ꭵ̼̯᭞̯͙ㆪ͜喚ၿㆪञДϽ❥ㆪ㐖ឮ̯͙∄喌ΎञД̯͙ऻ़ᐱ ࣱ⮳∄喌Ύ土ͩ overloadingȡ ᒂၿㆪϽ❥ㆪ㐖ឮ̯͙ᬏࣱ∄喌㔻ࣷε̯͙ऻᵦ⮳ᬏࣱ∄喌݈ၿㆪ⮳ۈ∄㺵Ⰵ ❥ㆪ⮳∄喌土ͩ㺵Ⰵȡ喈∗ᘾ䔃իㆪΎᓴ䶪Ⱗऻ喌ॕ݈㑅䄀ܩ䩈ȡ喉 ັ∄̼ऻ喌݈䛼䒬ȡ
This 㶗ᒂݼᄨ䆐ȡ
Public void printNum(){ Int number=40喛 System.out.println(this.number);
} ₓᬥគ࢟⮳᭞ჍҺइ䛾喌㔻䲍ᅯ䘗इ䛾喌ࢢㆪ͜㔻䲍∄͜⮳इ䛾ȡ
This.number 㶗ჍҺइ䛾ȡ 䄰䄲⩗ this.number 䗒ͷ䄰ࢢͩᒂ(ݼthis)ᄨ䆐⮳ number ∄ȡ
ᒂᲳ䕏̯͙ᄨ䆐⮳ᬥՈ喌㈪㐎ٷᲳ䕏❥ㆪᄨ䆐喌ڼᲳ䕏ၿㆪᄨ䆐ȡ Ჳ䕏̯͙ᄨ䆐⮳䶩Ꮎ喚喈∗ᘾ喚Ჳ䕏❥ㆪᄨ䆐⮳ᬥՈΎ᭞䔈ₔ喉 Ř 䕁ᒁᲳ䕏❥ㆪᄨ䆐喛 ř 䶩Ꮎ䄲⩗ᱛㆪইᆍᕖ䉺ի䄜औ喛 Ś ᱛㆪ⮳Ჳ䕏∄ȡ
Super()㶗䄲⩗❥ㆪ⮳Ჳ䕏∄ȡ
䖒 ݙjava ᄺдヨ䆄
4
Super()Ύ this ̯ᵦᓴ䶪ᩭせ̯㵻ȡ This()⩗ν䄲⩗ᱛㆪ⮳Ჳ䕏∄ȡ ັ⇐Ჳ䕏∄喌䗒ͷᅠщ䄲⩗❥ㆪ⮳ᬏࣱᲳ䕏∄喌ࢢ super()ȡ
Εۈ∄⮳ᵫᐾ喚 ԝ亟さ 䔃ի
public int/void
∄़ addNumber(ࣱ)
䄲⩗䓶彡͜ ञ㘬ܩ⣟⮳Һๅ throw Excepion
∄҂ {}
Һ喚 public int addNumber(int a,int b){ } ∗喚∄़͜⮳ࣱ int a,int b ͩᅯ䘗इ䛾
11.29
㐖ឮ喚 ❥ㆪ喈SuperClass喉ၿㆪ喈SonClass喉ȡ ❥ㆪ⮳䲍⻰ࡅᆍᕖ∄ञД吇䃓㐖ឮݟၿㆪȡ Class Son extends Father{ } 㔻ັ❥ㆪ͜⮳⻰∄㷚ၿㆪ䄲⩗⮳䄌喌݈㑅䄀។䩈ȡ
❥ㆪ⮳Ჳ䕏∄ၿㆪ̼ञД㐖ឮ喌ᰣ̼ႇ㺵Ⰵ⮳䬝䷇ȡ喈䲍Ჳ䕏∄ञД喉 ັၿㆪ䃮䬝❥ㆪ⮳Ჳ䕏∄喌݈㑅䄀⮳ᬥՈ䃮䬝̼ݟ䄔∄ȡ JAVA ٰ̼͜䃧้㐖ឮ喌̯͙ㆪ̓ङ̯͙❥ㆪ喈ࢄ㐖ឮ喉ȡ JAVA ⮳ᢝ㐂Ჳͩᵀ㐂Ჳ喌㔻䲍㒀⟥ȡ喈JAVA 䕉䓶ᣔऒڴ䘗ㆪჍ⣟้㐖ឮ喉
ᄨ䆐᭞ბ㻱⮳喌ϩᄨᄨ䆐⮳䃓䃵᭞ͪ㻱⮳ȡ Һ喚 Animal a=new Dog()喛ᴔⰺᵫᐾ़土喛 Dog d=(Dog)aȡฟᬽ❥ㆪᲔᑄ⩗ၿㆪȡ 喈ᕌ㔲̹䲑⮳ᵫᐾ喉
䓿㵻ᬥ้ᔰ⮳̸݈࣎喚喈Ꮓ⩗ᬥͩ㺵Ⰵ喉 Ƞ ᄨ䆐̼इ喛喈ᩨइ⮳᭞ͪ㻱䃓䃵喉 Ƞ ᄨνᄨ䆐⮳䄲⩗ङ㘬䭿ν㑅䄀ᬥㆪ⮳∄喌ັ䄲⩗䓿㵻ᬥㆪ∄។䩈ȡ ̹䲑⮳Һၿ͜喚Animal a=new Dog()喛ᄨ䆐 D ⮳㑅䄀ᬥㆪͩ Animal喌䓿㵻ᬥㆪͩ dogȡ ∗ᘾ喚㑅䄀ᬥㆪ̯㺰ͩ䓿㵻ᬥㆪ⮳❥ㆪ喈ᝅ㔴ऻㆪ喉ȡ ᄨν䄜औ喚Dog d=(Dog)aȡᄵ G ᑩݥฟᬽͩ D ㆪ喌ₓᬥ G ͩ Dog()喌ₓᬥ G ᅠञД䄲⩗䓿 㵻ᬥㆪȡ∗ᘾ喚D G ᠶीऻ̯ᄨ䆐ȡ Ƞ 彡Ꮎ⮳䓿㵻ᬥ喌ߗᔰㆪݓȡ䓿㵻ᬥ䄲⩗䓿㵻ᬥㆪ喌ࢢႲ䄲⩗㺵Ⰵऽ⮳∄ȡ
℃䒲䲑ी䓶彡⮳ᕌᘢ䲑ीᄨ䆐⮳ᕌᘢ喚 䲑ी䓶彡⮳ᕌᘢ喚⩠䓶彡Ƞₔ俓Ƞܬ㏳喌Д䓶彡ͩᵧᓲ喛 䲑ीᄨ䆐⮳ᕌᘢ喚Дᄨ䆐ͩ͜ᓲ喌ٷᐯऀㆪ喌ᓆݟᄨ䆐喌䕉䓶ᄨ䆐ͺ䬣Ⱗρ䕉ԐჍ⣟ߎ㘬ȡ 䲑ी䓶彡᭞ٷテ∄喌ऽᢝ㐂Ჳȡ 䲑ीᄨ䆐᭞ٷᢝ㐂Ჳ喌♥ऽڼテ∄ȡ
⩗䲑ीᄨ䆐ᕌᘢᐯऀ⮳䓶彡͜喌ञД⩗ᄨ䆐ᅠ䔊㵻⩗喌ັᬏ∄䔊㵻⩗݈ᐯऀ⮳ᄨ 䆐ȡ ᐯऀ䓶彡᭞⩗ᄨ͙クࢄ⮳ᄨ䆐⮳้͙クࢄ⮳∄喌ᲔჍ⣟ᱱ⮳ߎ㘬ȡ Ͻ䄜∄̹Ეⰺ喌̯͙ㆪ᭞̯͙⮳ᢝㆪȡ 䲑ीᄨ䆐㑅彡͜喌䮓εクࢄᢝㆪ喌ᅠ᭞ᄨ䆐ㆪȡ ㆪ⮳ᵫᐾ喚 class Student{
ͩϯͷщႇ overloading ឯᱞ喟ҋͩᏃᄨ∄⮳㏵㞱ȡ ⩗ݘㆪ⮳ጝᐱᲔᒠৼᄨ∄⮳䄲⩗ȡ ल喈喉ञДܵͩल㖸喌ल㤋喌ल㢞喌̯͙ㆪ͜ञД้͙ल∄ȡ
Ჳ䕏∄ΎञДჍ⣟ overloadingȡҺ喚 public void teach(){}; public void teach(int a){}; public void teach(String a){}̸̼ͩऻ⮳∄ȡ