JAVAµÄÃæÏò¶ÔÏó±à³Ì
ÃæÏò¶ÔÏóÖ÷ÒªÕë¶ÔÃæÏò¹ý³Ì£¬
JAVAµÄÃæÏò¶ÔÏó±à³Ì
¡£ÃæÏò¹ý³ÌµÄ»ù±¾µ¥ÔªÊǺ¯Êý¡£
ʲôÊǶÔÏó£ºEVERYTHING IS OBJECT£¨ÍòÎï½Ô¶ÔÏó£©
ËùÓеÄÊÂÎﶼÓÐÁ½¸ö·½Ã棺
ÓÐʲô£¨ÊôÐÔ£©£ºÓÃÀ´ÃèÊö¶ÔÏó¡£
Äܹ»×öʲô£¨·½·¨£©£º¸æËßÍâ½ç¶ÔÏóÓÐÄÇЩ¹¦ÄÜ¡£
ºóÕßÒÔÇ°ÕßΪ»ù´¡¡£
´óµÄ¶ÔÏóµÄÊôÐÔÒ²¿ÉÒÔÊÇÒ»¸ö¶ÔÏó¡£
ΪʲôҪʹÓÃÃæÏò¶ÔÏó£º
Ê×ÏÈ£¬ÃæÏò¶ÔÏó·ûºÏÈËÀà¿´´ýÊÂÎïµÄÒ»°ã¹æÂÉ¡£
¶ÔÏóµÄ·½·¨µÄʵÏÖϸ½ÚÊÇÆÁ±ÎµÄ£¬Ö»ÓжÔÏó·½·¨µÄʵÏÖÕßÁ˽âϸ½Ú¡£
·½·¨µÄ¶¨Òå·Ç³£ÖØÒª¡£·½·¨ÓвÎÊý£¬Ò²¿ÉÄÜÓзµ»ØÖµ¡£
×¢ÒâÇø·Ö£º¶ÔÏ󣨱¾Éí£©¡¢¶ÔÏóµÄʵÏÖÕß¡¢¶ÔÏóµÄµ÷ÓÃÕß¡£
·ÖÎö¶ÔÏóÖ÷Òª´Ó·½·¨¿ªÊ¼¡£
ÎÒÃÇͨ¹ýÀàÀ´¿´´ý¶ÔÏó£¬ÀàÊǶÔÏóµÄ³éÏó¡£
Æä´Î£¬²ÉÓÃÃæÏò¶ÔÏó·½·¨¿ÉÒÔʹϵͳ¸÷²¿·Ö¸÷˾ÆäÖ°¡¢¸÷¾¡ËùÄÜ¡£
¶ÔÏóÖ®¼äµÄñîºÏÐÔÒ»¶¨ÒªµÍ£¨±ÈÈ粻ͬӲÅ̺Ͳ»Í¬Ö÷°åÖ®¼äµÄ¹Øϵ£©¡£ÕâÑù²ÅÄÜʹÿ¸ö¶ÔÏó±¾Éí×ö³É×îºÃµÄ¡£
¶ÔÓÚ¶ÔÏóµÄÒªÇ󣺸ßÄÚ¾Û¡¢µÍñîºÏ£¬ÕâÑùÈÝÒ×Æ´×°³ÉΪһ¸öϵͳ¡£
ʵÏÖ¸ßÄÚ¾Û¾ÍÊÇÒª×î´óÏ޶ȵÍÌá¸ß¸´ÓÃÐÔ£¨¸´ÓÃÐÔºÃÊÇÒòΪ¸ßÄÚ¾Û£©¡£
¿É¸´ÓÃÐÔÊÇOOPµÄ»ù´¡¡£
±È½ÏÃæÏò¹ý³ÌµÄ˼ÏëºÍÃæÏò¶ÔÏóµÄ˼Ï룺
ÃæÏò¹ý³ÌµÄ˼Ï룺Óɹý³Ì¡¢²½Öè¡¢º¯Êý×é³É£¬ÒÔ¹ý³ÌΪºËÐÄ£»
ÃæÏò¶ÔÏóµÄ˼Ï룺ÒÔ¶ÔÏóΪÖÐÐÄ£¬ÏÈ¿ª·¢À࣬µÃµ½¶ÔÏó£¬Í¨¹ý¶ÔÏóÖ®¼äÏ໥ͨÐÅʵÏÖ¹¦ÄÜ¡£
ÃæÏò¹ý³ÌÊÇÏÈÓÐËã·¨£¬ºóÓÐÊý¾Ý½á¹¹¡£
ÃæÏò¶ÔÏóÊÇÏÈÓÐÊý¾Ý½á¹¹£¬È»ºóÔÙÓÐËã·¨¡£
ÔÚÓÃÃæÏò¶ÔÏó˼Ï뿪·¢µÄ¹ý³ÌÖУ¬¿ÉÒÔ¸´ÓöÔÏó¾Í½øÐи´Óã¬ÈçÎÞ·¨½øÐи´ÓÃÔò¿ª·¢ÐµĶÔÏó¡£
¿ª·¢¹ý³ÌÊÇÓöԸö¼òµ¥µÄ¶ÔÏóµÄ¶à¸ö¼òµ¥µÄ·½·¨£¬À´ÊµÏÖ¸´ÔӵŦÄÜ ¡£
´ÓÓï·¨ÉÏÀ´¿´£¬Ò»¸öÀàÊÇÒ»¸öеÄÊý¾ÝÀàÐÍ¡£
ÔÚÃæÏò¶ÔÏó±à³ÌÖУ¬³ýÁ˼òµ¥Êý¾ÝÀàÐÍ£¬¾ÍÊǶÔÏóÀàÐÍ¡£
¶¨ÒåÀàµÄ¸ñʽ£º
class Student{
´úÂë
}
×¢ÒâÀàÃûÖе¥´ÊµÄÊ××Öĸ´óд¡£
ʵÀý±äÁ¿£º¶¨ÒåÔÚÀàÖе«ÔÚÈκη½·¨Ö®Íâ¡££¨New³öÀ´µÄ¾ùÓгõÖµ£©
¾Ö²¿±äÁ¿£º¶¨ÒåÔÚ·½·¨Ö®ÖеıäÁ¿¡£
¾Ö²¿±äÁ¿ÒªÏȸ³Öµ£¬ÔÙ½øÐÐÔËË㣬¶øʵÀý±äÁ¿¾ùÒѾ¸³³õÖµ¡£ÕâÊǾֲ¿±äÁ¿ºÍʵÀý±äÁ¿µÄÒ»´óÇø±ð¡£
ʵÀý±äÁ¿µÄ¶ÔÏó¸³ÖµÎªnull¡£
¾Ö²¿±äÁ¿²»ÔÊÐí·¶Î§ÄÚ¶¨ÒåÁ½¸öͬÃû±äÁ¿¡£ÊµÀý±äÁ¿µÄ×÷ÓÃÓòÔÚ±¾ÀàÖÐÍêÈ«ÓÐЧ£¬µ±±»ÆäËûµÄÀàµ÷ÓõÄʱºòÒ²¿ÉÄÜÓÐЧ¡£
ʵÀý±äÁ¿ºÍ¾Ö²¿±äÁ¿ÔÊÐíÃüÃû³åÍ»¡£
Êéд·½·¨µÄ¸ñʽ£º
ÐÞÊηû ·µ»ØÖµ ·½·¨Ãû µ÷Óùý³ÌÖÐ ·½·¨Ìå
¿ÉÄܳöÏÖµÄÀýÍâ
public int/void addNumber(²ÎÊý) throw Excepion {}
Àý£º
public int addNumber(int a,int b){
}
×¢£º·½·¨ÃûÖеIJÎÊýint a,int bΪ¾Ö²¿±äÁ¿
Àà·½·¨ÖеÄÒ»ÀàÌØÊâ·½·¨£º¹¹Ôì·½·¨¡£
¹¹Ôì·½·¨Êǵ±ÓÃÀàÉú³É¶ÔÏóʱ£¬ÏµÍ³ÔÚÉú³É¶ÔÏóµÄ¹ý³ÌÖÐÀûÓõķ½·¨¡£
×¢Ò⣺¹¹Ôì·½·¨ÔÚÉú³É¶ÔÏóµÄʱºò»á±»µ÷Ó㬵«²¢²»Êǹ¹Ôì·½·¨Éú³ÉÁ˶ÔÏó¡£
¹¹Ôì·½·¨Ã»Óзµ»ØÖµ¡£¸ñʽΪ£ºpublic ·½·¨Ãû¡£
¹¹Ôì·½·¨µÄ·½·¨ÃûÓëÀàÃûÏàͬ¡£
¹¹Ôì·½·¨ÊÇÔÚ¶ÔÏóÉú³ÉµÄ¹ý³ÌÖÐ×Ô¶¯µ÷Ó㬲»¿ÉÄÜÀûÓÃÖ¸ÁîÈ¥µ÷Óá£
ÔÚÒ»¸ö¶ÔÏóµÄÉú³ÉÖÜÆÚÖй¹Ôì·½·¨Ö»ÓÃÒ»´Î£¬Ò»µ©Õâ¸ö¶ÔÏóÉú³É£¬ÄÇôÕâ¸ö¹¹Ôì·½·¨Ê§Ð§¡£
ÓÃÀàÀ´Éú³É¶ÔÏóµÄÓï¾ä£º
Student s=new Student()¡£
µÚÒ»¸öStudent±íʾÕâÊÇÓÃStudentÀà½øÐж¨Òå¡£“Student()”±íʾµ÷ÓÃÒ»¸öÎÞ²ÎÊýµÄ¹¹Ôì·½·¨¡£
Èç¹û()ÖÐÓвÎÊý£¬Ôòϵͳ¹¹Ôì¶ÔÏóµÄ¹ý³ÌÖе÷ÓÃÓвεķ½·¨¡£
´ËʱS³ÆΪһ¸ö¶ÔÏó±äÁ¿¡£
Student sµÄ´æ´¢ÇøÓò´æ·ÅµÄÊǵØÖ·£ºÒ»¸ö¶ÔÏóÔÚÓ²ÅÌÉÏÕ¼ÓÐÒ»¸öÁ¬ÐøµØÖ·£¬Ê×µØÖ·¸³Óès¿Õ¼ä¡£
S³ÆΪ¶ÔÏóStudentµÄÒýÓá£
×¢Ò⣺ÔÚ¶ÔÏó±äÁ¿Öдæ·ÅµÄÊÇÒýÓ㨵ØÖ·£©£»ÔÚ¼òµ¥±äÁ¿Öдæ·ÅµÄÊÇÊýÖµ¡£
¿ÉÒÔ¹¹Ôì¶à¸ö¹¹Ôì·½·¨£¬µ«¶à¸ö¹¹Ôì·½·¨µÄ²ÎÊý±íÒ»¶¨²»Í¬£¬²ÎÊý˳Ðò²»Í¬¼´ÊôÓÚ²»Í¬µÄ¹¹Ôì·½·¨£º
public student(string name,int a){
}
public student(int a,string name){
}
ΪÁ½¸ö²»Í¬µÄ¹¹Ôì·½·¨¡£
Èç¹ûÎÒÃÇδ¸øϵͳÌṩһ¸ö¹¹Ôì·½·¨£¬ÄÇôϵͳ»á×Ô¶¯Ìṩһ¸öΪ¿ÕµÄ¹¹Ôì·½·¨¡£
Á·Ï°£ºÐ´Ò»¸öÀ࣬¶¨ÒåÒ»¸ö¶ÔÏ󣬶¨ÒåÁ½¸ö¹¹Ôì·½·¨£ºÒ»¸öÓвΣ¬Ò»¸öÎ޲Ρ£
£¨±àдһ¸ö³ÌÐòÑéÖ¤¶ÔÏóµÄ´«µÝµÄֵΪµØÖ·£©
×¢ÒâÏÂÃæÕâÖÖÐÎʽ£º
static void changename(student stu){stu.setName “LUCY”}
×¢ÒâÉú³ÉеĶÔÏóÓë¾É¶ÔÏóÖ¸ÏòÎ޹أ¬Éú³ÉжÔÏóÉúÃüÏûÍöÓë¾É¶ÔÏóÎ޹ء£
ÃæÏò¶ÔÏó·½·¨µÄÖØÔØ£¨overloading£©ºÍ¸²¸Ç£¨overriding£©¡£
ÔÚÓÐЩJAVAÊé¼®Öн«overriding³ÆΪÖØÔØ£¬overloading³ÆΪ¹ýÔØ¡£
OverloadingÔÚÒ»¸öÀàÖпÉÒÔ¶¨Òå¶à¸öͬÃû·½·¨£¬¸÷¸ö·½·¨µÄ²ÎÊý±íÒ»¶¨²»Í¬¡£µ«ÐÞÊδʿÉÄÜÏàͬ£¬·µ»ØÖµÒ²¿ÉÄÜÏàͬ¡£
ÔÚ³ÌÐòµÄ±àÒë¹ý³ÌÖиù¾Ý±äÁ¿ÀàÐÍÀ´ÕÒÏàÓ¦µÄ·½·¨¡£Òò´ËÒ²ÓÐÈËÈÏΪ overloadingÊDZàÒëʱµÄ¶à̬£¬ÒÔºóÎÒÃÇ»¹»áѧµ½ÔËÐÐʱ¶à̬¡£
Ϊʲô»á´æÔÚoverloading¼¼ÊõÄØ£¿×÷ΪӦ¶Ô·½·¨µÄϸ½Ú¡£
ÀûÓÃÀàÐ͵IJîÒìÀ´Ó°Ïì¶Ô·½·¨µÄµ÷Óá£
³Ô£¨£©¿ÉÒÔ·ÖΪ³ÔÈ⣬³Ô²Ë£¬³ÔÒ©£¬ÔÚÒ»¸öÀàÖпÉÒÔ¶¨Òå¶à¸ö³Ô·½·¨¡£
¹¹Ôì·½·¨Ò²¿ÉÒÔʵÏÖoverloading¡£Àý£º
public void teach(){};
public void teach(int a){};
public void teach(String a){}ΪÈýÖÖ²»Í¬µÄ·½·¨¡£
Overloading·½·¨ÊÇ´ÓµÍÏò¸ßת¡£
Byte—short—float—int—long—double¡£
ÔÚ¹¹Ôì·½·¨ÖУ¬this±íʾ±¾ÀàµÄÆäËû¹¹Ôì·½·¨£º
student(){};
student(string n){
this();//±íʾµ÷ÓÃstudent()
}
Èç¹ûµ÷ÓÃstudent(int a)ÔòΪthis(int a)¡£
Ìرð×¢Ò⣺ÓÃthisµ÷ÓÃÆäËû¹¹Ôì·½·¨Ê±£¬this±ØÐëΪµÚÒ»ÌõÓï¾ä£¬È»ºó²ÅÊÇÆäËûÓï¾ä¡£
This±íʾµ±Ç°¶ÔÏó¡£
Public void printNum(){
Int number=40£»
System.out.println(this.number);
}
´Ëʱ´òÓ¡µÄÊÇʵÀý±äÁ¿£¬¶ø·Ç¾Ö²¿±äÁ¿£¬¼´¶¨ÒåÔÚÀàÖжø·Ç·½·¨ÖеıäÁ¿¡£
This.number±íʾʵÀý±äÁ¿¡£
˵÷ÓÃthis.numberÄÇô˼´Îªµ±Ç°(this)¶ÔÏóµÄnumber·½·¨¡£
·â×°£ºÊ¹¶ÔÏóµÄÊôÐÔ¾¡¿ÉÄÜ˽ÓУ¬¶ÔÏóµÄ·½·¨¾¡¿ÉÄܵĹ«¿ª¡£ÓÃprivate±íʾ´Ë³ÉÔ±ÊôÐÔΪ¸ÃÀàµÄ˽ÓÐÊôÐÔ¡£
Public±íʾ¸ÃÊôÐÔ£¨·½·¨£©¹«¿ª£»
Private±íʾ¸ÃÊôÐÔ£¨·½·¨£©ÎªÖ»Óб¾ÀàÄÚ²¿¿ÉÒÔ·ÃÎÊ£¨ÀàÄÚ²¿¿É¼û£©¡£
£¨ÏëÓÃprivate»¹ÒªÓÃsetºÍget·½·¨¹©ÆäËû·½·¨µ÷Óã¬ÕâÑù¿ÉÒÔ±£Ö¤¶ÔÊôÐԵķÃÎÊ·½Ê½Í³Ò»£¬²¢ÇÒ±ãÓÚά»¤·ÃÎÊȨÏÞÒÔ¼°ÊôÐÔÊý¾ÝºÏ·¨ÐÔ£©
Èç¹ûûÓÐÌØÊâÇé¿ö£¬ÊôÐÔÒ»¶¨Ë½ÓУ¬·½·¨¸Ã¹«¿ªµÄ¹«¿ª¡£
Èç¹û²»Ö¸Ã÷˵÷Ó÷½·¨£¬ÔòĬÈÏΪthis¡£
Çø·ÖʵÀý±äÁ¿ºÍ¾Ö²¿±äÁ¿Ê±Ò»¶¨ÒªÐ´this¡£
11.29
¼Ì³Ð£º
¸¸ÀࣨSuperClass£©ºÍ ×ÓÀࣨSonClass£©¡£
¸¸ÀàµÄ·Ç˽Óл¯ÊôÐԺͷ½·¨¿ÉÒÔĬÈϼ̳е½×ÓÀà¡£
Class Son extends Father{
}
¶øÈç¹û¸¸ÀàÖеÄ˽Óз½·¨±»×ÓÀàµ÷ÓõĻ°£¬Ôò±àÒ뱨´í¡£
¸¸ÀàµÄ¹¹Ôì·½·¨×ÓÀ಻¿ÉÒԼ̳У¬¸ü²»´æÔÚ¸²¸ÇµÄÎÊÌâ¡££¨·Ç¹¹Ôì·½·¨¿ÉÒÔ£©
Èç¹û×ÓÀà·ÃÎʸ¸ÀàµÄ¹¹Ôì·½·¨£¬ÔòÔÚ±àÒëµÄʱºòÌáʾ·ÃÎʲ»µ½¸Ã·½·¨¡£
JAVAÖв»ÔÊÐí¶à¼Ì³Ð£¬Ò»¸öÀàÓÐÇÒÖ»ÓÐÒ»¸ö¸¸Àࣨµ¥¼Ì³Ð£©¡£
JAVAµÄÊý¾Ý½á¹¹ÎªÊ÷Ðͽṹ£¬¶ø·ÇÍø×´¡££¨JAVAͨ¹ý½Ó¿ÚºÍÄÚ²¿ÀàʵÏÖ¶à¼Ì³Ð£©
·½·¨µÄ¸²¸Ç£¨overriding£©
·½·¨µÄÖØÔز¢²»Ò»¶¨ÊÇÔÚÒ»¸öÀàÖУº×ÓÀà¿ÉÒÔ´Ó¸¸Àà¼Ì³ÐÒ»¸ö·½·¨£¬Ò²¿ÉÒÔ¶¨ÒåÒ»¸öͬÃûÒì²ÎµÄ·½·¨£¬Ò²³ÆΪoverloading¡£
µ±×ÓÀà´Ó¸¸Àà¼Ì³ÐÒ»¸öÎ޲η½·¨£¬¶øÓÖ¶¨ÒåÁËÒ»¸öͬÑùµÄÎ޲η½·¨£¬Ôò×ÓÀàÐÂдµÄ·½·¨¸²¸Ç¸¸ÀàµÄ·½·¨£¬³ÆΪ¸²¸Ç¡££¨×¢Òâ·µ»ØÖµÀàÐÍÒ²±ØÐëÏàͬ£¬·ñÔò±àÒë³ö´í¡££©
Èç¹û·½·¨²»Í¬£¬Ôò³ÉÖØÔØ¡£
¶ÔÓÚ·½·¨µÄÐÞÊδʣ¬×ÓÀà·½·¨Òª±È¸¸ÀàµÄ·½·¨·¶Î§¸ü¼ÓµÄ¿í·º¡£
¸¸ÀàΪpublic£¬ÄÇô×ÓÀàΪprivateÔò³öÏÖ´íÎó¡£
Ö®ËùÒÔ¹¹Ôì·½·¨ÏÈÔËÐи¸ÀàÔÙÔËÐÐ×ÓÀàÊÇÒòΪ¹¹Ôì·½·¨ÊÇÎÞ·¨¸²¸ÇµÄ¡£
ÒÔÏ·¶Î§ÒÀ´ÎÓÉÑϵ½¿í£º
private £º±¾Àà·ÃÎÊ£»
default £º±íʾĬÈÏ£¬²»½ö±¾Àà·ÃÎÊ£¬¶øÇÒÊÇͬ°ü¿É¼û¡£
Protected£ºÍ¬°ü¿É¼û+²»Í¬°üµÄ×ÓÀà¿É¼û
Public £º±íʾËùÓеĵط½¾ù¿É¼û¡£
µ±¹¹ÔìÒ»¸ö¶ÔÏóµÄʱºò£¬ÏµÍ³Ïȹ¹Ô츸Àà¶ÔÏó£¬ÔÙ¹¹Ôì×ÓÀà¶ÔÏó¡£
¹¹ÔìÒ»¸ö¶ÔÏóµÄ˳Ðò£º£¨×¢Ò⣺¹¹Ô츸Àà¶ÔÏóµÄʱºòÒ²ÊÇÕ⼸²½£©
¢Ù µÝ¹éµØ¹¹Ô츸Àà¶ÔÏó£»
¢Ú ˳ÐòµØµ÷Óñ¾Àà³ÉÔ±ÊôÐÔ¸³³õÖµÓï¾ä£»
¢Û ±¾ÀàµÄ¹¹Ôì·½·¨¡£
Super()±íʾµ÷Óø¸ÀàµÄ¹¹Ôì·½·¨¡£
Super()Ò²ºÍthisÒ»Ñù±ØÐë·ÅÔÚµÚÒ»ÐС£
This()ÓÃÓÚµ÷Óñ¾ÀàµÄ¹¹Ôì·½·¨¡£
Èç¹ûûÓж¨Òå¹¹Ôì·½·¨£¬ÄÇô¾Í»áµ÷Óø¸ÀàµÄÎ޲ι¹Ôì·½·¨£¬¼´super()¡£
ÒªÑø³ÉÁ¼ºÃµÄ±à³ÌÏ°¹ß£º¾ÍÊÇÒª¼ÓÉÏĬÈϵĸ¸ÀàÎ޲εĹ¹Ôì·½·¨¡£
˼¿¼£º¿ÉÊÇÈç¹ûÎÒÃÇûÓж¨ÒåÎ޲εĹ¹Ôì·½·¨£¬¶øÔÚ³ÌÐòÖй¹ÔìÁËÓвεĹ¹Ôì·½·¨£¬ÄÇôÈç¹û·½·¨ÖÐûÓвÎÊý£¬ÄÇôϵͳ»¹»áµ÷ÓÃÓвεĹ¹Ôì·½·¨Ã´£¿Ó¦¸Ã²»»á¡£
¶à̬£º¶àָ̬µÄÊDZàÒëʱÀàÐͱ仯£¬¶øÔËÐÐʱÀàÐͲ»±ä¡£
¶à̬·ÖÁ½ÖÖ£º
¢Ù ±àÒëʱ¶à̬£º±àÒëʱ¶¯Ì¬ÖØÔØ£»
¢Ú ÔËÐÐʱ¶à̬£ºÖ¸Ò»¸ö¶ÔÏó¿ÉÒÔ¾ßÓжà¸öÀàÐÍ¡£
¶ÔÏóÊǿ͹۵ģ¬È˶ԶÔÏóµÄÈÏʶÊÇÖ÷¹ÛµÄ¡£
Àý£º
Animal a=new Dog()£»²é¿´¸ñʽÃû³Æ£»
Dog d=(Dog)a¡£ÉùÃ÷¸¸ÀàÀ´ÒýÓÃ×ÓÀà¡£
£¨Ë¼¿¼ÉÏÃæµÄ¸ñʽ£©
ÔËÐÐʱ¶à̬µÄÈýÔÔò£º£¨Ó¦ÓÃʱΪ¸²¸Ç£©
1¡¢ ¶ÔÏ󲻱䣻£¨¸Ä±äµÄÊÇÖ÷¹ÛÈÏʶ£©
2¡¢ ¶ÔÓÚ¶ÔÏóµÄµ÷ÓÃÖ»ÄÜÏÞÓÚ±àÒëʱÀàÐ͵ķ½·¨£¬Èçµ÷ÓÃÔËÐÐʱÀàÐÍ·½·¨±¨´í¡£
ÔÚÉÏÃæµÄÀý×ÓÖУºAnimal a=new Dog()£»¶ÔÏóaµÄ±àÒëʱÀàÐÍΪAnimal£¬ÔËÐÐʱÀàÐÍΪdog¡£
×¢Ò⣺±àÒëʱÀàÐÍÒ»¶¨ÒªÎªÔËÐÐʱÀàÐ͵ĸ¸Àࣨ»òÕßͬÀàÐÍ£©¡£
¶ÔÓÚÓï¾ä£ºDog d=(Dog)a¡£½«dÇ¿ÖÆÉùÃ÷ΪaÀàÐÍ£¬´ËʱdΪDog()£¬´Ëʱd¾Í¿ÉÒÔµ÷ÓÃÔËÐÐʱÀàÐÍ¡£×¢Ò⣺aºÍdÖ¸Ïòͬһ¶ÔÏó¡£
3¡¢ ÔÚ³ÌÐòµÄÔËÐÐʱ£¬¶¯Ì¬ÀàÐÍÅж¨¡£ÔËÐÐʱµ÷ÓÃÔËÐÐʱÀàÐÍ£¬¼´Ëüµ÷Óø²¸ÇºóµÄ·½·¨¡£
¹ØϵÔËËã·û£ºinstanceof
a instanceof Animal;(Õâ¸öʽ×ӵĽá¹ûÊÇÒ»¸ö²¼¶û±í´ïʽ)
aΪ¶ÔÏó±äÁ¿£¬AnimalÊÇÀàÃû¡£
ÉÏÃæÓï¾äÊÇÅж¨aÊÇ·ñ¿ÉÒÔÌùAnimal±êÇ©¡£Èç¹û¿ÉÒÔÌùÔò·µ»Øtrue£¬·ñÔò·µ»Øfalse¡£
ÔÚÉÏÃæµÄÌâÄ¿ÖУº a instanceof Animal·µ»Ø True£¬
a instanceof DogÒ²·µ»Ø True£¬
instanceofÓÃÓÚÅж¨ÊÇ·ñ½«Ç°ÃæµÄ¶ÔÏó±äÁ¿¸³Öµºó±ßµÄÀàÃû¡£
InstanceofÒ»°ãÓÃÓÚÔÚÇ¿ÖÆÀàÐÍת»»Ö®Ç°Åж¨±äÁ¿ÊÇ·ñ¿ÉÒÔÇ¿ÖÆת»»¡£
Èç¹ûAnimal a=new Animal()£»
Dog d=Dog()a;
´Ëʱ±àÒëÎÞÎ󣬵«ÔËÐÐÔò»á±¨´í¡£
Animal a=new Dog()Ï൱ÓÚÏÂÃæÓï¾äµÄ¹¦ÄÜ£º
Animal a=getAnimal()£»
Public static Animal.getAnimal;
Return new Dog()£»
·â×°¡¢¼Ì³Ð¡¢¶à̬ΪÃæÏò¶ÔÏóµÄÈý´ó»ùʯ£¨ÌØÐÔ£©¡£
ÔËÐÐʱµÄ¶¯Ì¬ÀàÐÍÅж¨Õë¶ÔµÄÊÇ·½·¨¡£ÔËÐгÌÐò·ÃÎʵÄÊôÐÔÈÔΪ±àÒëʱÊôÐÔ¡£
OverloadingÕë¶ÔµÄÊDZàÒëʱÀàÐÍ£¬²»´æÔÚÔËÐÐʱµÄ¶à̬¡£
Ï°Ì⣺½¨Á¢Ò»¸öshapeÀ࣬ÓÐcircleºÍrect×ÓÀà¡£
ShapeÀàÓÐzhouchang()ºÍarea()Á½ÖÖ·½·¨¡£
£¨Õý·½ÐΣ©squΪrect×ÓÀ࣬rectÓÐcha()ÓÃÓڱȽϳ¤¿íµÄ²î¡£
¸²¸Çʱ¿¼ÂÇ×ÓÀàµÄprivate¼°¸¸ÀàµÄpublic£¨¿¼ÂǶà̬£©£¬Ö®ËùÒÔÕâÑùÊDZÜÃâµ÷ÓÃAʱ³öÏÖʵ¼Êµ÷ÓÃBµÄÇé¿ö¡£¶ø³öÏÖ´íÎó¡£
11.29ÏÂÎç½²µÄÊǽ̳ÌÉϵÄModule6
Module6-7°üÀ¨£ºÃæÏò¶ÔÏó¸ß¼¶¡¢ÄÚ²¿Àà¡¢¼¯ºÏ¡¢·´É䣨ÔÝʱ²»½²£©¡¢ÀýÍâ¡£
ÃæÏò¶ÔÏó¸ß¼¶¡¢¼¯ºÏºÍÀýÍⶼÊÇÃæÏò¶ÔÏóµÄºËÐÄÄÚÈÝ¡£
ÃæÏò¶ÔÏó¸ß¼¶£º ÐÞÊηû£º
static:¢Ù¿ÉÐÞÊαäÁ¿£¨ÊôÐÔ£©£»¢Ú¿ÉÐÞÊη½·¨£»¢Û¿ÉÐÞÊδúÂë¿é¡£
Static int dataÓï¾ä˵Ã÷dataΪÀà±äÁ¿£¬ÎªÒ»¸öÀàµÄ¹²Ïí±äÁ¿£¬ÊôÓÚÕû¸öÀà¡£
Int dataΪʵÀý±äÁ¿¡£
Àý£º
static int data;
m1.data=0;
m1.data++µÄ½á¹ûΪ1,´Ëʱm2.dataµÄ½á¹ûҲΪ1¡£
Static¶¨ÒåµÄÊÇÒ»¿éΪÕû¸öÀ๲ÓеÄÒ»¿é´æ´¢ÇøÓò£¬Æä·¢Éú±ä»¯Ê±·ÃÎʵ½µÄÊý¾Ý¶¼Ê±¾¹ý±ä»¯µÄ¡£
Æä±äÁ¿¿ÉÒÔͨ¹ýÀàÃûÈ¥·ÃÎÊ£ºÀàÃû.±äÁ¿Ãû¡£Óëͨ¹ý·ÃÎʶÔÏóµÄ±àÒëʱÀàÐÍ·ÃÎÊÀà±äÁ¿ÎªµÈ¼ÛµÄ¡£
Public static void printData(){}
±íÃ÷´ËÀà·½·¨ÎªÀà·½·¨£¨¾²Ì¬·½·¨£©
¾²Ì¬·½·¨²»ÐèÒªÓжÔÏ󣬿ÉÒÔʹÓÃÀàÃûµ÷Óá£
¾²Ì¬·½·¨Öв»ÔÊÐí·ÃÎÊÀàµÄ·Ç¾²Ì¬³ÉÔ±£¬°üÀ¨³ÉÔ±µÄ±äÁ¿ºÍ·½·¨£¬ÒòΪ´ËʱÊÇͨ¹ýÀàµ÷Óõģ¬Ã»ÓжÔÏóµÄ¸ÅÄî¡£This.dataÊDz»¿ÉÓõġ£
Ò»°ãÇé¿öÏ£¬Ö÷·½·¨ÊǾ²Ì¬·½·¨£¬ËùÒԿɵ÷Óþ²Ì¬·½·¨£¬Ö÷·½·¨Îª¾²Ì¬·½·¨ÊÇÒòΪËüÊÇÕû¸öÈí¼þϵͳµÄÈë¿Ú£¬¶ø½øÈëÈë¿ÚʱϵͳÖÐûÓÐÈκζÔÏó£¬Ö»ÄÜʹÓÃÀàµ÷Óá£
¸²¸Ç²»ÊÊÓÃÓÚ¾²Ì¬·½·¨¡£
¾²Ì¬·½·¨²»¿É±»¸²¸Ç¡££¨ÔÊÐíÔÚ×ÓÀàÖж¨ÒåͬÃû¾²Ì¬·½·¨£¬µ«ÊÇûÓжà̬£¬ÑϸñµÄ½²£¬·½·¨¼äûÓжà̬¾Í²»ÄܳÆΪ¸²¸Ç£©
µ±staticÐÞÊδúÂë¿éʱ£¨×¢£º´Ë´úÂë¿éÒªÔÚ´ËÀàµÄÈκÎÒ»¸ö·½·¨Ö®Í⣩£¬ÄÇôÕâ¸ö´úÂë¿éÔÚ´úÂë±»×°ÔؽøÐéÄâ»úÉú³É¶ÔÏóµÄʱºò¿É±»×°ÔØÒ»´Î£¬ÒÔºóÔÙÒ²²»Ö´ÐÐÁË¡£
Ò»°ã¾²Ì¬´úÂë¿é±»ÓÃÀ´³õʼ»¯¾²Ì¬³ÉÔ±¡£
Staticͨ³£ÓÃÓÚSingletonģʽ¿ª·¢£º
SingletonÊÇÒ»ÖÖÉè¼Æģʽ£¬¸ßÓÚÓï·¨£¬¿ÉÒÔ±£Ö¤Ò»¸öÀàÔÚÕû¸öϵͳÖнöÓÐÒ»¸ö¶ÔÏó¡£
11.30
final¿ÉÒÔÐÞÊÎÀà¡¢ÊôÐÔ¡¢·½·¨¡£
µ±ÓÃfinalÐÞÊÎÀàµÄʱºò£¬´ËÀ಻¿É±»¼Ì³Ð£¬¼´finalÀàûÓÐ×ÓÀà¡£ÕâÑù¿ÉÒÔÓÃfinal±£Ö¤Óû§µ÷ÓÃʱ¶¯×÷µÄÒ»ÖÂÐÔ£¬¿ÉÒÔ·ÀÖ¹×ÓÀา¸ÇÇé¿öµÄ·¢Éú¡£
µ±ÀûÓÃfinalÐÞÊÎÒ»¸öÊôÐÔ£¨±äÁ¿£©µÄʱºò£¬´ËʱµÄÊôÐÔ³ÉΪ³£Á¿¡£
JAVAÀûÓÃfinal¶¨Òå³£Á¿£¨×¢ÒâÔÚJAVAÃüÃû¹æ·¶Öг£Á¿ÐèҪȫ²¿×Öĸ¶¼´óд£©£º
Final int AGE=10£»
³£Á¿µÄµØÖ·²»¿É¸Ä±ä£¬µ«ÔÚµØÖ·Öб£´æµÄÖµ£¨¼´¶ÔÏóµÄÊôÐÔ£©ÊÇ¿ÉÒԸıäµÄ¡£
Final¿ÉÒÔÅäºÏstaticʹÓᣠ£¿
Static final int age=10£»
ÔÚJAVAÖÐÀûÓÃpublic static finalµÄ×éºÏ·½Ê½¶Ô³£Á¿½øÐбêʶ£¨¹Ì¶¨¸ñʽ£©¡£
¶ÔÓÚÔÚ¹¹Ôì·½·¨ÖÐÀûÓÃfinal½øÐи³ÖµµÄʱºò£¬´ËʱÔÚ¹¹Ôì֮ǰϵͳÉèÖõÄĬÈÏÖµÏà¶ÔÓÚ¹¹Ôì·½·¨Ê§Ð§¡£
³£Á¿£¨ÕâÀïµÄ³£Á¿Ö¸µÄÊÇʵÀý³£Á¿£º¼´³ÉÔ±±äÁ¿£©¸³Öµ£º
¢ÙÔÚ³õʼ»¯µÄʱºòͨ¹ýÏÔʽÉùÃ÷¸³Öµ¡£Final int x=3£»
¢ÚÔÚ¹¹ÔìµÄʱºò¸³Öµ¡£
¾Ö²¿±äÁ¿¿ÉÒÔËæʱ¸³Öµ¡£
ÀûÓÃfinal¶¨Òå·½·¨£ºÕâÑùµÄ·½·¨ÎªÒ»¸ö²»¿É¸²¸ÇµÄ·½·¨¡£
Public final void print(){}£»
ΪÁ˱£Ö¤·½·¨µÄÒ»ÖÂÐÔ£¨¼´²»±»¸Ä±ä£©£¬¿É½«·½·¨ÓÃfinal¶¨Òå¡£
Èç¹ûÔÚ¸¸ÀàÖÐÓÐfinal¶¨ÒåµÄ·½·¨£¬ÄÇôÔÚ×ÓÀàÖм̳Ðͬһ¸ö·½·¨¡£
Èç¹ûÒ»¸ö·½·¨Ç°ÓÐÐÞÊδÊprivate»òstatic£¬Ôòϵͳ»á×Ô¶¯ÔÚÇ°Ãæ¼ÓÉÏfinal¡£¼´privateºÍstatic·½·¨Ä¬ÈϾùΪfinal·½·¨¡£
×¢£ºfinal²¢²»Éæ¼°¼Ì³Ð£¬¼Ì³ÐÈ¡¾öÓÚÀàµÄÐÞÊηûÊÇ·ñΪprivate¡¢default¡¢protected»¹ÊÇpublic¡£Ò²¾ÍÊÇ˵£¬ÊÇ·ñ¼Ì³ÐÈ¡¾öÓÚÕâ¸ö·½·¨¶ÔÓÚ×ÓÀàÊÇ·ñ¿É¼û¡£
Abstract(³éÏó)¿ÉÒÔÐÞÊÎÀà¡¢·½·¨
Èç¹û½«Ò»¸öÀàÉèÖÃΪabstract£¬Ôò´ËÀà±ØÐë±»¼Ì³ÐʹÓᣴËÀ಻¿ÉÉú³É¶ÔÏ󣬱ØÐë±»¼Ì³ÐʹÓá£
Abstract¿ÉÒÔ½«×ÓÀàµÄ¹²ÐÔ×î´óÏ޶ȵijéÈ¡³öÀ´£¬·ÅÔÚ¸¸ÀàÖУ¬ÒÔÌá¸ß³ÌÐòµÄ¼ò½àÐÔ¡£
AbstractËäÈ»²»ÄÜÉú³É¶ÔÏ󣬵«ÊÇ¿ÉÒÔÉùÃ÷£¬×÷Ϊ±àÒëʱÀàÐÍ£¬µ«²»ÄÜ×÷ΪÔËÐÐʱÀàÐÍ¡£
FinalºÍabstractÓÀÔ¶²»»áͬʱ³öÏÖ¡£
µ±abstractÓÃÓÚÐÞÊη½·¨Ê±£¬´Ëʱ¸Ã·½·¨Îª³éÏó·½·¨£¬´Ëʱ·½·¨²»ÐèҪʵÏÖ£¬ÊµÏÖÁô¸ø×ÓÀา¸Ç£¬×ÓÀา¸Ç¸Ã·½·¨Ö®ºó·½·¨²ÅÄܹ»ÉúЧ¡£
×¢Òâ±È½Ï£º
private void print(){}£»´ËÓï¾ä±íʾ·½·¨µÄ¿ÕʵÏÖ¡£
Abstract void print()£» ´ËÓï¾ä±íʾ·½·¨µÄ³éÏó£¬ÎÞʵÏÖ¡£
Èç¹ûÒ»¸öÀàÖÐÓÐÒ»¸ö³éÏó·½·¨£¬ÄÇôÕâ¸öÀàÒ»¶¨ÎªÒ»¸ö³éÏóÀà¡£
·´Ö®£¬Èç¹ûÒ»¸öÀàΪ³éÏóÀ࣬ÄÇôÆäÖпÉÄÜÓзdzéÏóµÄ·½·¨¡£
Èç¹ûÈÃÒ»¸ö·Ç³éÏóÀà¼Ì³ÐÒ»¸öº¬³éÏó·½·¨µÄ³éÏóÀ࣬Ôò±àÒëʱ»á·¢Éú´íÎó¡£ÒòΪµ±Ò»¸ö·Ç³éÏóÀà¼Ì³ÐÒ»¸ö³éÏó·½·¨µÄʱºò£¬±¾×ÅÖ»ÓÐÒ»¸öÀàÖÐÓÐÒ»¸ö³éÏó·½·¨£¬ÄÇôÕâ¸öÀà±ØÐëΪ³éÏóÀàµÄÔÔò¡£Õâ¸öÀà±ØÐëΪ³éÏóÀ࣬ÕâÓë´ËÀàΪ·Ç³éÏó³åÍ»£¬ËùÒÔ±¨´í¡£
ËùÒÔ×ÓÀàµÄ·½·¨±ØÐ븲¸Ç¸¸ÀàµÄ³éÏó·½·¨¡£·½·¨²ÅÄܹ»Æð×÷Óá£
Ö»Óн«ÀíÂÛ±»ÊìÁ·ÔËÓÃÔÚʵ¼ÊµÄ³ÌÐòÉè¼ÆµÄ¹ý³ÌÖÐÖ®ºó£¬²ÅÄÜ˵ÀíÂÛ±»ÍêÈ«ÕÆÎÕ£¡
ΪÁËʵÏÖ¶à̬£¬ÄÇô¸¸Àà±ØÐëÓж¨Òå¡£¶ø¸¸Àಢ²»ÊµÏÖ£¬Áô¸ø×ÓÀàȥʵÏÖ¡£´Ëʱ¿É½«¸¸ÀඨÒå³ÉabstractÀà¡£Èç¹ûûÓж¨Òå³éÏóµÄ¸¸À࣬ÄÇô±àÒë»á³öÏÖ´íÎó¡£
AbstractºÍstatic²»ÄÜ·ÅÔÚÒ»Æ𣬷ñÔò±ã»á³öÏÖ´íÎó¡££¨ÕâÊÇÒòΪstatic²»¿É±»¸²¸Ç£¬¶øabstractΪÁËÉúЧ±ØÐë±»¸²¸Ç¡££©
Àý£º£¨±¾ÀýÒÑ´æÔÚCODINGabstractTestClass.javaÎļþÖУ©
public class TestClass{
public static void main(String[] args){
SuperClass sc=new SubClass();
Sc.print();
}
Abstract class SuperClass{
Abstract void print();}
}
class SubClass extends SuperClass(){
void print(){
System.out.println(“print”);}
}
JAVAµÄºËÐĸÅÄ½Ó¿Ú£¨interface£©
½Ó¿ÚÓëÀàÊôÓÚͬһ²ã´Î£¬Êµ¼ÊÉÏ£¬½Ó¿ÚÊÇÒ»ÖÖÌØÊâµÄ³éÏóÀà¡£
Èç:
interface IA{
}
public interface£º¹«¿ª½Ó¿Ú
ÓëÀàÏàËÆ£¬Ò»¸öÎļþÖ»ÄÜÓÐÒ»¸öpublic½Ó¿Ú£¬ÇÒÓëÎļþÃûÏàͬ¡£
ÔÚÒ»¸öÎļþÖв»¿Éͬʱ¶¨ÒåÒ»¸öpublic½Ó¿ÚºÍÒ»¸öpublicÀà¡£
Ò»¸ö½Ó¿ÚÖУ¬ËùÓз½·¨Îª¹«¿ª¡¢³éÏó·½·¨£»ËùÓеÄÊôÐÔ¶¼Êǹ«¿ª¡¢¾²Ì¬¡¢³£Á¿¡£
Ò»¸öÀàʵÏÖÒ»¸ö½Ó¿ÚµÄ¸ñʽ£º
class IAImple implements IA{
};
Ò»¸öÀàʵÏÖ½Ó¿Ú£¬Ï൱ÓÚËü¼Ì³ÐÒ»¸ö³éÏóÀà¡£
Àà±ØÐëʵÏÖ½Ó¿ÚÖеķ½·¨£¬·ñÔòÆäΪһ³éÏóÀà¡£
ʵÏÖÖнӿںÍÀàÏàͬ¡£
½Ó¿ÚÖпɲ»Ð´public£¬µ«ÔÚ×ÓÀàÖÐʵÏֽӿڵĹý³ÌÖÐpublic²»¿ÉÊ¡¡£
£¨Èç¹ûʣȥpublicÔòÔÚ±àÒëµÄʱºòÌáʾ³ö´í£º¶ÔÏóÎÞ·¨´Ó½Ó¿ÚÖÐʵÏÖ·½·¨¡££©
×¢£º
¢Ù Ò»¸öÀà³ý¼Ì³ÐÁíÍâÒ»¸öÀ࣬»¹¿ÉÒÔʵÏÖ½Ó¿Ú£»
class IAImpl extends java.util.Arrylist implement IA{}
¼Ì³ÐÀà ʵÏÖ½Ó¿Ú
ÕâÑù¿ÉÒÔʵÏÖ±äÏàµÄ¶à¼Ì³Ð¡£
¢Ú Ò»¸öÀàÖ»Äܼ̳ÐÁíÍâÒ»¸öÀ࣬µ«ÊÇËü¿ÉÒԼ̳жà¸ö½Ó¿Ú£¬ÖмäÓÓ£¬”¸ô¿ª¡£
Implements IA,IB
ËùνʵÏÖÒ»¸ö½Ó¿Ú£¬¾ÍÊÇָʵÏÖ½Ó¿ÚÖеķ½·¨¡£
¢Û ½Ó¿ÚºÍ½Ó¿ÚÖ®¼ä¿ÉÒÔ¶¨Òå¼Ì³Ð¹Øϵ£¬²¢ÇÒ½Ó¿ÚÖ®¼äÔÊÐíʵÏÖ¶à¼Ì³Ð¡£
Àý£ºinterface IC extends IA,IB{};
½Ó¿ÚÒ²¿ÉÒÔÓÃÓÚ¶¨Òå¶ÔÏó
IA I=new IAImpl();
ʵÏÖµÄÀà´Ó¸¸ÀàºÍ½Ó¿Ú¼Ì³ÐµÄ¶¼¿É×öÔËÐÐʱÀàÐÍ¡£
IAImple extends A implement IA,IB
IB I=new IAImple();
I instance of IAImple;
I instance of A;
I instance of IA;
I instance of IB;
·µ»ØµÄ½á¹û¾ùΪtrue.
½Ó¿ÚºÍ¶à̬¶¼ÎªJAVA¼¼ÊõµÄºËÐÄ¡£
½Ó¿ÚÍùÍù±»ÎÒÃǶ¨Òå³ÉÒ»ÀàXXµÄ¶«Î÷¡£
½Ó¿Úʵ¼ÊÉÏÊǶ¨ÒåÒ»¸ö¹æ·¶¡¢±ê×¼¡£
¢Ù ͨ¹ý½Ó¿Ú¿ÉÒÔʵÏÖ²»Í¬²ã´Î¡¢²»Í¬Ìåϵ¶ÔÏóµÄ¹²Í¬ÊôÐÔ£»
ͨ¹ý½Ó¿ÚʵÏÖwrite once as anywhere.
ÒÔJAVAÊý¾Ý¿âÁ¬½ÓΪÀý×Ó£ºJDBCÖƶ¨±ê×¼£»Êý¾Ý³§ÉÌʵÏÖ±ê×¼£»Óû§Ê¹Óñê×¼¡£
½Ó¿Úͨ³£ÓÃÀ´ÆÁ±Îµ×²ãµÄ²îÒì¡£
¢Ú½Ó¿ÚÒ²ÒòΪÉÏÊöÔÒò±»ÓÃÀ´±£³Ö¼Ü¹¹µÄÎȶ¨ÐÔ¡£
JAVAÖÐÓÐÒ»¸öÌØÊâµÄÀࣺ Object¡£ËüÊÇJAVAÌåϵÖÐËùÓÐÀàµÄ¸¸Àֱࣨ½Ó¸¸Àà»òÕß¼ä½Ó¸¸Àࣩ¡£
´ËÀàÖеķ½·¨¿ÉÒÔʹËùµÄÀà¾ù¼Ì³Ð¡£
ÒÔϽéÉܵÄÈýÖÖ·½·¨ÊôÓÚObject:
(1) finalize·½·¨£ºµ±Ò»¸ö¶ÔÏó±»À¬»ø»ØÊÕµÄʱºòµ÷Óõķ½·¨¡£
(2) toString():ÊÇÀûÓÃ×Ö·û´®À´±íʾ¶ÔÏó¡£
µ±ÎÒÃÇÖ±½Ó´òÓ¡¶¨ÒåµÄ¶ÔÏóµÄʱºò£¬Òþº¬µÄÊÇ´òÓ¡toString()µÄ·µ»ØÖµ¡£
¿ÉÒÔͨ¹ý×ÓÀà×÷Ϊһ¸ötoString()À´¸²¸Ç¸¸ÀàµÄtoString()¡£
ÒÔÈ¡µÃÎÒÃÇÏëµÃµ½µÄ±íÏÖÐÎʽ£¬¼´µ±ÎÒÃÇÏëÀûÓÃÒ»¸ö×Ô¶¨ÒåµÄ·½Ê½ÃèÊö¶ÔÏóµÄʱºò£¬ÎÒÃÇÓ¦¸Ã¸²¸ÇtoString()¡£
(3)equal
Ê×ÏÈÊԱȽÏÏÂÀý£º
String A=new String(“hello”);
String A=new String(“hello”);
A==B(´Ëʱ³ÌÐò·µ»ØΪFALSE)
ÒòΪ´ËʱABÖдæµÄÊǵØÖ·£¬ÒòΪ´´½¨ÁËеĶÔÏó£¬ËùÒÔ´æ·ÅµÄÊDz»Í¬µÄµØÖ·¡£
¸½¼Ó֪ʶ£º
×Ö·û´®ÀàΪJAVAÖеÄÌØÊâÀ࣬StringÖÐΪfinalÀ࣬һ¸ö×Ö·û´®µÄÖµ²»¿ÉÖظ´¡£Òò´ËÔÚJAVA VM£¨ÐéÄâ»ú£©ÖÐÓÐÒ»¸ö×Ö·û´®³Ø£¬×¨ÃÅÓÃÀ´´æ´¢×Ö·û´®¡£Èç¹ûÓöµ½String a=”hello”ʱ£¨×¢ÒâûÓÐNEW£¬²»ÊÇ´´½¨Ð´®£©£¬ÏµÍ³ÔÚ×Ö·û´®³ØÖÐÑ°ÕÒÊÇ·ñÓДhello”£¬´Ëʱ×Ö·û´®³ØÖÐûÓДhello”£¬ÄÇôϵͳ½«´Ë×Ö·û´®´æµ½×Ö·û´®³ØÖУ¬È»ºó½«”hello”ÔÚ×Ö·û´®³ØÖеĵØÖ··µ»Øa¡£Èç¹ûϵͳÔÙÓöµ½String b=”hello”£¬´Ëʱϵͳ¿ÉÒÔÔÚ×Ö·û´®³ØÖÐÕÒµ½ “hello”¡£Ôò»á°ÑµØÖ··µ»Øb£¬´ËʱaÓëbΪÏàͬ¡£
String a=”hello”;
System.out.println(a==”hello”);
ϵͳµÄ·µ»ØֵΪtrue¡£
¹ÊÈç¹ûÒª±È½ÏÁ½¸ö×Ö·û´®ÊÇ·ñÏàͬ£¨¶ø²»ÊÇËûÃǵĵØÖ·ÊÇ·ñÏàͬ£©¡£¿ÉÒÔ¶Ôaµ÷ÓÃequal:
System.out.println(a.equal(b));
equalÓÃÀ´±È½ÏÁ½¸ö¶ÔÏóÖÐ×Ö·û´®µÄ˳Ðò¡£
a.equal(b)ÊÇaÓëbµÄÖµµÄ±È½Ï¡£
×¢ÒâÏÂÃæ³ÌÐò£º
student a=new student(“LUCY”,20);
student b=new student(“LUCY”,20);
System.out.println(a==b);
System.out.println(a.equal(b));
´Ëʱ·µ»ØµÄ½á¹û¾ùΪfalse¡£
ÒÔÏÂΪ¶¨Òåequal£¨¼ÓÉÏÕâ¸ö¶¨Ò壬·µ»Øture»òfalse£©
public boolean equals(Object o){
student s=(student)o;
if (s.name.equals(this.name)&&s.age==this.age)
else return false;
}Èç¹ûequals()·µ»ØµÄֵΪ
ÒÔÏÂΪʵÏÖ±ê×¼equalsµÄÁ÷³Ì£º
public boolean equals(Object o){
if (this==o) return trun; //´ËʱÁ½ÕßÏàͬ
if (o==null) return false;
if (! o instanceof strudent) return false; //²»Í¬Àà
studeng s=(student)o; //Ç¿ÖÆת»»
if (s.name.equals(this.name)&&s.age==this.age) return true;
else return false;
}
ÒÔÉϹý³ÌΪʵÏÖequalsµÄ±ê×¼¹ý³Ì¡£
Á·Ï°£º½¨Á¢Ò»¸öemployeeÀ࣬ÓÐString name,int id,double salary.ÔËÓÃgetºÍset·½·¨£¬Ê¹ÓÃtoString£¬Ê¹ÓÃequals¡£
·â×°Àࣺ
JAVAΪÿһ¸ö¼òµ¥Êý¾ÝÀàÐÍÌṩÁËÒ»¸ö·â×°À࣬ʹÿ¸ö¼òµ¥Êý¾ÝÀàÐÍ¿ÉÒÔ±»ObjectÀ´×°ÔØ¡£
³ýÁËintºÍchar£¬ÆäÓàÀàÐÍÊ××Öĸ´óд¼´³É·â×°Àà¡£
ת»»×Ö·ûµÄ·½Ê½£º
int I=10;
String s=I+” ”;
String s1=String.valueOf(i);
Int I=10;
Interger I_class=new integer(I);
¿´javadocµÄ°ïÖúÎĵµ¡£
¸½¼ÓÄÚÈÝ£º
“==”ÔÚÈκÎʱºò¶¼ÊDZȽϵØÖ·£¬ÕâÖֱȽÏÓÀÔ¶²»»á±»¸²¸Ç¡£
³ÌÐòÔ±×Ô¼º±àдµÄÀàºÍJDKÀàÊÇÒ»ÖÖºÏ×÷¹Øϵ¡££¨ÒòΪ¶à̬µÄ´æÔÚ£¬¿ÉÄÜ´æÔÚÎÒÃǵ÷ÓÃJDKÀàµÄÇé¿ö£¬Ò²¿ÉÄÜ´æÔÚJDK×Ô¶¯µ÷ÓÃÎÒÃǵÄÀàµÄÇé¿ö¡££©
×¢Ò⣺ÀàÐÍת»»ÖÐdoubleintergerstringÖ®¼äµÄת»»×î¶à¡£
12.01
ÄÚ²¿Àࣺ
£¨×¢£ºËùÓÐʹÓÃÄÚ²¿ÀàµÄµØ·½¶¼¿ÉÒÔ²»ÓÃÄÚ²¿À࣬ʹÓÃÄÚ²¿Àà¿ÉÒÔʹ³ÌÐò¸ü¼ÓµÄ¼ò½à£¬±ãÓÚÃüÃû¹æ·¶ºÍ»®·Ö²ã´Î½á¹¹£©¡£
ÄÚ²¿ÀàÊÇÖ¸ÔÚÒ»¸öÍⲿÀàµÄÄÚ²¿ÔÙ¶¨ÒåÒ»¸öÀà¡£
ÄÚ²¿Àà×÷ΪÍⲿÀàµÄÒ»¸ö³ÉÔ±£¬²¢ÇÒÒÀ¸½ÓÚÍⲿÀà¶ø´æÔڵġ£
ÄÚ²¿Àà¿ÉΪ¾²Ì¬£¬¿ÉÓÃPROTECTEDºÍPRIVATEÐÞÊΡ££¨¶øÍⲿÀ಻¿ÉÒÔ£ºÍⲿÀàÖ»ÄÜʹÓÃPUBLICºÍDEFAULT£©¡£
ÄÚ²¿ÀàµÄ·ÖÀࣺ
³ÉÔ±ÄÚ²¿Àà¡¢
¾Ö²¿ÄÚ²¿Àà¡¢
¾²Ì¬ÄÚ²¿Àà¡¢
ÄäÃûÄÚ²¿ÀࣨͼÐÎÊÇÒªÓõ½£¬±ØÐëÕÆÎÕ£©¡£
¢Ù ³ÉÔ±ÄÚ²¿Àࣺ×÷ΪÍⲿÀàµÄÒ»¸ö³ÉÔ±´æÔÚ£¬ÓëÍⲿÀàµÄÊôÐÔ¡¢·½·¨²¢ÁС£
ÄÚ²¿ÀàºÍÍⲿÀàµÄʵÀý±äÁ¿¿ÉÒÔ¹²´æ¡£
ÔÚÄÚ²¿ÀàÖзÃÎÊʵÀý±äÁ¿£ºthis.ÊôÐÔ
ÔÚÄÚ²¿Àà·ÃÎÊÍⲿÀàµÄʵÀý±äÁ¿£ºÍⲿÀàÃû.this.ÊôÐÔ¡£
³ÉÔ±ÄÚ²¿ÀàµÄÓŵ㣺
¢ÅÄÚ²¿Àà×÷ΪÍⲿÀàµÄ³ÉÔ±£¬¿ÉÒÔ·ÃÎÊÍⲿÀàµÄ˽ÓгÉÔ±»òÊôÐÔ¡££¨¼´Ê¹½«ÍⲿÀàÉùÃ÷ΪPRIVATE£¬µ«ÊǶÔÓÚ´¦ÓÚÆäÄÚ²¿µÄÄÚ²¿À໹ÊǿɼûµÄ¡££©
¢ÆÓÃÄÚ²¿ÀඨÒåÔÚÍⲿÀàÖв»¿É·ÃÎʵÄÊôÐÔ¡£ÕâÑù¾ÍÔÚÍⲿÀàÖÐʵÏÖÁ˱ÈÍⲿÀàµÄprivate»¹ÒªÐ¡µÄ·ÃÎÊȨÏÞ¡£
×¢Ò⣺ÄÚ²¿ÀàÊÇÒ»¸ö±àÒëʱµÄ¸ÅÄһµ©±àÒë³É¹¦£¬¾Í»á³ÉΪÍêÈ«²»Í¬µÄÁ½Àà¡£
¶ÔÓÚÒ»¸öÃûΪouterµÄÍⲿÀàºÍÆäÄÚ²¿¶¨ÒåµÄÃûΪinnerµÄÄÚ²¿Àà¡£±àÒëÍê³Éºó³öÏÖouter.classºÍouter$inner.classÁ½Àà¡£
£¨±àдһ¸ö³ÌÐò¼ìÑ飺ÔÚÒ»¸öTestOuter.java³ÌÐòÖÐÑéÖ¤ÄÚ²¿ÀàÔÚ±àÒëÍê³ÉÖ®ºó£¬»á³öÏÖ¼¸¸öclass.£©
³ÉÔ±ÄÚ²¿À಻¿ÉÒÔÓо²Ì¬ÊôÐÔ¡££¨ÎªÊ²Ã´£¿£©
Èç¹ûÔÚÍⲿÀàµÄÍⲿ·ÃÎÊÄÚ²¿À࣬ʹÓÃout.inner.
½¨Á¢ÄÚ²¿Àà¶ÔÏóʱӦעÒ⣺
ÔÚÍⲿÀàµÄÄÚ²¿¿ÉÒÔÖ±½ÓʹÓÃinner s=new inner();£¨ÒòΪÍⲿÀàÖªµÀinnerÊÇÄĸöÀ࣬ËùÒÔ¿ÉÒÔÉú³É¶ÔÏó¡££©
¶øÔÚÍⲿÀàµÄÍⲿ£¬ÒªÉú³É£¨new£©Ò»¸öÄÚ²¿Àà¶ÔÏó£¬ÐèÒªÊ×ÏȽ¨Á¢Ò»¸öÍⲿÀà¶ÔÏó£¨ÍⲿÀà¿ÉÓã©£¬È»ºóÔÚÉú³ÉÒ»¸öÄÚ²¿Àà¶ÔÏó¡£
Outer.Inner in=Outer.new.Inner()¡£
´íÎóµÄ¶¨Ò巽ʽ£º
Outer.Inner in=new Outer.Inner()¡£
×¢Ò⣺µ±OuterÊÇÒ»¸öprivateÀàʱ£¬ÍⲿÀà¶ÔÓÚÆäÍⲿ·ÃÎÊÊÇ˽Óеģ¬ËùÒÔ¾ÍÎÞ·¨½¨Á¢ÍⲿÀà¶ÔÏ󣬽ø¶øÒ²ÎÞ·¨½¨Á¢ÄÚ²¿Àà¶ÔÏó¡£
¢Ú ¾Ö²¿ÄÚ²¿ÀࣺÔÚ·½·¨Öж¨ÒåµÄÄÚ²¿Àà³ÆΪ¾Ö²¿ÄÚ²¿Àà¡£
Óë¾Ö²¿±äÁ¿ÀàËÆ£¬ÔÚ¾Ö²¿ÄÚ²¿ÀàÇ°²»¼ÓÐÞÊηûpublicºÍprivate£¬Æ䷶ΧΪ¶¨ÒåËüµÄ´úÂë¿é¡£
×¢Ò⣺¾Ö²¿ÄÚ²¿À಻½ö¿ÉÒÔ·ÃÎÊÍⲿÀàʵÀý±äÁ¿£¬»¹¿ÉÒÔ·ÃÎÊÍⲿÀàµÄ¾Ö²¿±äÁ¿£¨µ«´ËʱҪÇóÍⲿÀàµÄ¾Ö²¿±äÁ¿±ØÐëΪfinal£©£¿£¿
ÔÚÀàÍâ²»¿ÉÖ±½ÓÉú³É¾Ö²¿ÄÚ²¿Àࣨ±£Ö¤¾Ö²¿ÄÚ²¿Àà¶ÔÍâÊDz»¿É¼ûµÄ£©¡£
ÒªÏëʹÓþֲ¿ÄÚ²¿ÀàʱÐèÒªÉú³É¶ÔÏ󣬶ÔÏóµ÷Ó÷½·¨£¬ÔÚ·½·¨ÖвÅÄܵ÷ÓÃÆä¾Ö²¿ÄÚ²¿Àà¡£
¢Û ¾²Ì¬ÄÚ²¿Àࣺ£¨×¢Ò⣺ǰÈýÖÖÄÚ²¿ÀàÓë±äÁ¿ÀàËÆ£¬ËùÒÔ¿ÉÒÔ¶ÔÕղο¼±äÁ¿£©
¾²Ì¬ÄÚ²¿ÀඨÒåÔÚÀàÖУ¬Èκη½·¨Í⣬ÓÃstatic¶¨Òå¡£
¾²Ì¬ÄÚ²¿ÀàÖ»ÄÜ·ÃÎÊÍⲿÀàµÄ¾²Ì¬³ÉÔ±¡£
Éú³É£¨new£©Ò»¸ö¾²Ì¬ÄÚ²¿À಻ÐèÒªÍⲿÀà³ÉÔ±£ºÕâÊǾ²Ì¬ÄÚ²¿ÀàºÍ³ÉÔ±ÄÚ²¿ÀàµÄÇø±ð¡£¾²Ì¬ÄÚ²¿ÀàµÄ¶ÔÏó¿ÉÒÔÖ±½ÓÉú³É£º
Outer.Inner in=new Outer.Inner()£»
¶ø²»ÐèҪͨ¹ýÉú³ÉÍⲿÀà¶ÔÏóÀ´Éú³É¡£ÕâÑùʵ¼ÊÉÏʹ¾²Ì¬ÄÚ²¿Àà³ÉΪÁËÒ»¸ö¶¥¼¶Àà¡£
¾²Ì¬ÄÚ²¿À಻¿ÉÓÃprivateÀ´½øÐж¨Òå¡£Àý×Ó£º
¶ÔÓÚÁ½¸öÀ࣬ӵÓÐÏàͬµÄ·½·¨£º
People
{
run();
}
Machine{
run();
}
´ËʱÓÐÒ»¸örobotÀࣺ
class Robot extends People implement Machine.
´Ëʱrun()²»¿ÉÖ±½ÓʵÏÖ¡£
×¢Ò⣺µ±ÀàÓë½Ó¿Ú£¨»òÕßÊǽӿÚÓë½Ó¿Ú£©·¢Éú·½·¨ÃüÃû³åÍ»µÄʱºò£¬´Ëʱ±ØÐëʹÓÃÄÚ²¿ÀàÀ´ÊµÏÖ¡£
Óýӿڲ»ÄÜÍêÈ«µØʵÏÖ¶à¼Ì³Ð£¬ÓýӿÚÅäºÏÄÚ²¿Àà²ÅÄÜʵÏÖÕæÕýµÄ¶à¼Ì³Ð¡£
¢Ü ÄäÃûÄÚ²¿Àࣨ±ØÐëÕÆÎÕ£©£º
ÄäÃûÄÚ²¿ÀàÊÇÒ»ÖÖÌØÊâµÄ¾Ö²¿ÄÚ²¿À࣬ËüÊÇͨ¹ýÄäÃûÀàʵÏÖ½Ó¿Ú¡£
IA±»¶¨ÒåΪ½Ó¿Ú¡£
IA I=new IA(){};
×¢£ºÒ»¸öÄäÃûÄÚ²¿ÀàÒ»¶¨ÊÇÔÚnewµÄºóÃ棬ÓÃÆäÒþº¬ÊµÏÖÒ»¸ö½Ó¿Ú»òʵÏÖÒ»¸öÀ࣬ûÓÐÀàÃû£¬¸ù¾Ý¶à̬£¬ÎÒÃÇʹÓÃÆ丸ÀàÃû¡£
ÒòÆäΪ¾Ö²¿ÄÚ²¿À࣬ÄÇô¾Ö²¿ÄÚ²¿ÀàµÄËùÓÐÏÞÖƶ¼¶ÔÆäÉúЧ¡£
ÄäÃûÄÚ²¿ÀàÊÇΨһһÖÖÎÞ¹¹Ôì·½·¨Àà¡£
ÄäÃûÄÚ²¿ÀàÔÚ±àÒëµÄʱºòÓÉϵͳ×Ô¶¯ÆðÃûOut$1.class¡£
Èç¹ûÒ»¸ö¶ÔÏó±àÒëʱµÄÀàÐÍÊǽӿڣ¬ÄÇôÆäÔËÐеÄÀàÐÍΪʵÏÖÕâ¸ö½Ó¿ÚµÄÀà¡£
ÒòÄäÃûÄÚ²¿ÀàÎÞ¹¹Ôì·½·¨£¬ËùÒÔÆäʹÓ÷¶Î§·Ç³£µÄÓÐÏÞ¡£
£¨ÏÂÎ磺£©Exception£¨ÀýÍâ/Òì³££©£¨½Ì³ÌÉϵÄMODEL7£©
¶ÔÓÚ³ÌÐò¿ÉÄܳöÏֵĴíÎóÓ¦¸Ã×ö³öÔ¤°¸¡£
ÀýÍâÊdzÌÐòÖÐËùÓгöºõÒâÁϵĽá¹û¡££¨¹Øϵµ½ÏµÍ³µÄ½¡×³ÐÔ£©
JAVA»á½«ËùÓеĴíÎó·â×°³ÉΪһ¸ö¶ÔÏó£¬Æä¸ù±¾¸¸ÀàΪThrowable¡£
ThrowableÓÐÁ½¸ö×ÓÀࣺErrorºÍException¡£
Ò»¸öError¶ÔÏó±íʾһ¸ö³ÌÐò´íÎó£¬Ö¸µÄÊǵײãµÄ¡¢µÍ¼¶µÄ¡¢²»¿É»Ö¸´µÄÑÏÖØ´íÎó¡£´Ëʱ³ÌÐòÒ»¶¨»áÍ˳ö£¬ÒòΪÒѾʧȥÁËÔËÐÐËù±ØÐëµÄÎïÀí»·¾³¡£
¶ÔÓÚError´íÎóÎÒÃÇÎÞ·¨½øÐд¦Àí£¬ÒòΪÎÒÃÇÊÇͨ¹ý³ÌÐòÀ´Ó¦¶Ô´íÎ󣬿ÉÊdzÌÐòÒѾÍ˳öÁË¡£
ÎÒÃÇ¿ÉÒÔ´¦ÀíµÄThrowable¶ÔÏóÖÐÖ»ÓÐException¶ÔÏó£¨ÀýÍâ/Òì³££©¡£
ExceptionÓÐÁ½¸ö×ÓÀࣺRuntime exception£¨Î´¼ì²éÒì³££©
·ÇRuntime exception£¨ÒѼì²éÒì³££©
£¨×¢Ò⣺ÎÞÂÛÊÇδ¼ì²éÒì³£»¹ÊÇÒѼì²éÒì³£ÔÚ±àÒëµÄʱºò¶¼²»»á±»·¢ÏÖ£¬ÔÚ±àÒëµÄ¹ý³ÌÖмì²éµÄÊdzÌÐòµÄÓï·¨´íÎ󣬶øÒì³£ÊÇÒ»¸öÔËÐÐʱ³ÌÐò³ö´íµÄ¸ÅÄî¡££©
ÔÚExceptionÖУ¬ËùÓеķÇδ¼ì²éÒì³£¶¼ÊÇÒѼì²éÒì³££¬Ã»ÓÐÁíÍâµÄÒì³££¡£¡
δ¼ì²éÒì³£ÊÇÒòΪ³ÌÐòԱûÓнøÐбØÒªµÄ¼ì²é£¬ÒòΪËûµÄÊèºöºÍ´íÎó¶øÒýÆðµÄÒì³£¡£Ò»¶¨ÊÇÊôÓÚÐéÄâ»úÄÚ²¿µÄÒì³££¨±ÈÈç¿ÕÖ¸Õ룩¡£
Ó¦¶Ôδ¼ì²éÒì³£¾ÍÊÇÑø³ÉÁ¼ºÃµÄ¼ì²éÏ°¹ß¡£
ÒѼì²éÒì³£ÊDz»¿É±ÜÃâµÄ£¬¶ÔÓÚÒѼì²éÒì³£±ØÐëʵÏÖ¶¨ÒåºÃÓ¦¶ÔµÄ·½·¨¡£
ÒѼì²éÒì³£¿Ï¶¨¿çÔ½³öÁËÐéÄâ»úµÄ·¶Î§¡££¨±ÈÈç“δÕÒµ½Îļþ”£©
ÈçºÎ´¦ÀíÒѼì²éÒì³££¨¶ÔÓÚËùÓеÄÒѼì²éÒì³£¶¼Òª½øÐд¦Àí£©£º
Ê×ÏÈÁ˽âÒì³£ÐγɵĻúÖÆ£º
µ±Ò»¸ö·½·¨ÖÐÓÐÒ»ÌõÓï¾ä³öÏÖÁËÒì³££¬Ëü¾Í»áthrow£¨Å׳ö£©Ò»¸öÀýÍâ¶ÔÏó£¬È»ºóºóÃæµÄÓï¾ä²»»áÖ´Ðзµ»ØÉÏÒ»¼¶·½·¨£¬ÆäÉÏÒ»¼¶·½·¨½ÓÊܵ½ÁËÀýÍâ¶ÔÏóÖ®ºó£¬ÓпÉÄܶÔÕâ¸öÒì³£½øÐд¦Àí£¬Ò²¿ÉÄܽ«Õâ¸öÒ쳣תµ½ËüµÄÉÏÒ»¼¶¡£
¶ÔÓÚ½ÓÊÕµ½µÄÒѼì²éÒì³£ÓÐÁ½ÖÖ´¦Àí·½Ê½£ºthrowsºÍtry·½·¨¡£
×¢Ò⣺³ö´íµÄ·½·¨ÓпÉÄÜÊÇJDK£¬Ò²¿ÉÄÜÊdzÌÐòԱдµÄ³ÌÐò£¬ÎÞÂÛËдµÄ£¬Å׳öÒ»¶¨ÓÃthrow¡£
Àý£ºpublic void print() throws Exception.
¶ÔÓÚ·½·¨a£¬Èç¹ûËü¶¨ÒåÁËthrows Exception¡£ÄÇôµ±Ëüµ÷Óõķ½·¨b·µ»ØÒì³£¶ÔÏóʱ£¬·½·¨a²¢²»´¦Àí£¬¶ø½«Õâ¸öÒì³£¶ÔÏóÏòÉÏÒ»¼¶·µ»Ø£¬Èç¹ûËùÓеķ½·¨¾ù²»½øÐд¦Àí£¬·µ»Øµ½Ö÷·½·¨£¬³ÌÐòÖÐÖ¹¡££¨Òª±ÜÃâËùÓеķ½·¨¶¼·µ»ØµÄʹÓ÷½·¨£¬ÒòΪÕâÑù³öÏÖÒ»¸öºÜСµÄÒì³£¾Í»áÁî³ÌÐòÖÐÖ¹£©¡£
Èç¹ûÔÚ·½·¨µÄ³ÌÐòÖÐÓÐÒ»ÐÐthrow new Exception()£¬·µ»Ø´íÎó£¬ÄÇôÆäºóµÄ³ÌÐò²»Ö´ÐС£ÒòΪ´íÎ󷵻غ󣬺óÃæµÄ³ÌÐò¿Ï¶¨Ã»Óлú»áÖ´ÐУ¬ÄÇôJAVAÈÏΪÒÔºóµÄ³ÌÐòûÓдæÔڵıØÒª¡£
¶ÔÓÚtry……catch¸ñʽ£º
try {¿ÉÄܳöÏÖ´íÎóµÄ´úÂë¿é} catch(exception e){½øÐд¦ÀíµÄ´úÂë} £»
¶ÔÏó±äÁ¿µÄÉùÃ÷
ÓÃÕâÖÖ·½·¨£¬Èç¹û´úÂëÕýÈ·£¬ÄÇô³ÌÐò²»¾¹ýcatchÓï¾äÖ±½ÓÏòÏÂÔËÐУ»
Èç¹û´úÂë²»ÕýÈ·£¬Ôò½«·µ»ØµÄÒì³£¶ÔÏóºÍe½øÐÐÆ¥Å䣬Èç¹ûÆ¥Åä³É¹¦£¬Ôò´¦ÀíÆäºóÃæµÄÒì³£´¦Àí´úÂë¡££¨Èç¹ûÓÃexceptionÀ´ÉùÃ÷eµÄ»°£¬ÒòΪexceptionΪËùÓÐexception¶ÔÏóµÄ¸¸À࣬ËùÓп϶¨Æ¥Åä³É¹¦£©¡£´¦ÀíÍê´úÂëºóÕâ¸öÀýÍâ¾ÍÍêÈ«´¦ÀíÍê±Ï£¬³ÌÐò»á½Ó×Å´Ó³öÏÖÒì³£µÄµØ·½ÏòÏÂÖ´ÐУ¨ÊÇ´Ó³öÏÖÒì³£µÄµØ·½»¹ÊÇÔÚcatchºóÃæÄØ£¿ÀûÓóÌÐò½øÐÐÑéÖ¤£©¡£×îºó³ÌÐòÕý³£Í˳ö¡£
TryÖÐÈç¹û·¢ÏÖ´íÎ󣬼´Ìø³ötryȥƥÅäcatch£¬ÄÇôtryºóÃæµÄÓï¾ä¾Í²»»á±»Ö´ÐС£
Ò»¸ötry¿ÉÒÔ¸ú½ø¶à¸öcatchÓï¾ä£¬ÓÃÓÚ´¦Àí²»Í¬Çé¿ö¡£µ±Ò»¸ötryÖ»ÄÜÆ¥ÅäÒ»¸öcatch¡£
ÎÒÃÇ¿ÉÒÔд¶à¸öcatchÓï¾ä£¬µ«ÊDz»Äܽ«¸¸ÀàÐ͵ÄexceptionµÄλÖÃдÔÚ×ÓÀàÐ͵Äexcepiton֮ǰ£¬ÒòΪÕâÑù¸¸ÀàÐͿ϶¨ÏÈÓÚ×ÓÀàÐͱ»Æ¥Å䣬ËùÓÐ×ÓÀàÐ;ͳÉΪ·Ï»°¡£JAVA±àÒë³ö´í¡£
ÔÚtry£¬catchºó»¹¿ÉÒÔÔÙ¸úÒ»×Ó¾äfinally¡£ÆäÖеĴúÂëÓï¾äÎÞÂÛÈçºÎ¶¼»á±»Ö´ÐУ¨ÒòΪfinally×Ó¾äµÄÕâ¸öÌØÐÔ£¬ËùÒÔÒ»°ã½«ÊÍ·Å×ÊÔ´£¬¹Ø±ÕÁ¬½ÓµÄÓï¾äдÔÚÀïÃ棩¡£
Èç¹ûÔÚ³ÌÐòÖÐÊéдÁ˼ì²é£¨Å׳ö£©exceptionµ«ÊÇûÓжÔÕâ¸ö¿ÉÄܳöÏֵļì²é½á¹û½øÐд¦Àí£¬ÄÇô³ÌÐò¾Í»á±¨´í¡£
¶øÈç¹ûÖ»Óд¦ÀíÇé¿ö£¨try£©¶øûÓÐÏàÓ¦µÄcatch×Ӿ䣬Ôò±àÒ뻹ÊÇͨ²»¹ý¡£
ÈçºÎÖªµÀÔÚ±àдµÄ³ÌÐòÖлá³öÏÖÀýÍâÄØ
1£® µ÷Ó÷½·¨£¬²é¿´APIÖв鿴·½·¨ÖÐÊÇ·ñÓÐÒѼì²é´íÎó¡£
2£® ÔÚ±àÒëµÄ¹ý³ÌÖп´ÌáʾÐÅÏ¢£¬È»ºó¼ÓÉÏÏàÓ¦µÄ´¦Àí¡£
ExceptionÓÐÒ»¸ömessageÊôÐÔ¡£ÔÚʹÓÃcatchµÄʱºò¿ÉÒÔµ÷Óãº
Catch(IOException e){System.out.println(e.message())};
Catch(IOException e){e.printStackTrace()};
ÉÏÃæÕâÌõÓï¾ä»Ø¸æËßÎÒÃdzö´íÀàÐÍËùÀú¾µÄ¹ý³Ì£¬ÔÚµ÷ÊÔµÄÖзdz£ÓÐÓá£
¿ª·¢ÖеÄÁ½¸öµÀÀí£º
¢ÙÈçºÎ¿ØÖÆtryµÄ·¶Î§£º¸ù¾Ý²Ù×÷µÄÁ¬¶¯ÐÔºÍÏà¹ØÐÔ£¬Èç¹ûÇ°ÃæµÄ³ÌÐò´úÂë¿éÅ׳öµÄ´íÎóÓ°ÏìÁ˺óÃæ³ÌÐò´úÂëµÄÔËÐУ¬ÄÇôÕâ¸öÎÒÃǾÍ˵ÕâÁ½¸ö³ÌÐò´úÂë´æÔÚ¹ØÁª£¬Ó¦¸Ã·ÅÔÚͬһ¸ötryÖС£
¢Ú ¶ÔÒѾ²é³öÀ´µÄÀýÍ⣬ÓÐthrow(»ý¼«)ºÍtry catch£¨Ïû¼«£©Á½ÖÖ´¦Àí·½·¨¡£
¶ÔÓÚtry catch·ÅÔÚÄܹ»ºÜºÃµØ´¦ÀíÀýÍâµÄλÖ㨼´·ÅÔھ߱¸¶ÔÀýÍâ½øÐд¦ÀíµÄÄÜÁ¦µÄλÖã©¡£Èç¹ûûÓд¦ÀíÄÜÁ¦¾Í¼ÌÐøÉÏÅס£
µ±ÎÒÃÇ×Ô¼º¶¨ÒåÒ»¸öÀýÍâÀàµÄʱºò±ØÐëʹÆä¼Ì³Ðexcepiton»òÕßRuntimeException¡£
ThrowÊÇÒ»¸öÓï¾ä£¬ÓÃÀ´×öÅ׳öÀýÍâµÄ¹¦ÄÜ¡£
¶øthrowsÊDZíʾÈç¹ûϼ¶·½·¨ÖÐÈç¹ûÓÐÀýÍâÅ׳ö£¬ÄÇô±¾·½·¨²»×ö´¦Àí£¬¼ÌÐøÏòÉÏÅ׳ö¡£
Throwsºó¸úµÄÊÇÀýÍâÀàÐÍ¡£
¶ÏÑÔÊÇÒ»ÖÖµ÷ÊÔ¹¤¾ß£¨assert£©
Æäºó¸úµÄÊDz¼¶ûÀàÐ͵ıí´ïʽ£¬Èç¹û±í´ïʽ½á¹ûΪÕæ²»Ó°Ïì³ÌÐòÔËÐС£Èç¹ûΪ¼Ùϵͳ³öÏֵͼ¶´íÎó£¬ÔÚÆÁÄ»ÉϳöÏÖassertÐÅÏ¢¡£
AssertÖ»ÊÇÓÃÓÚµ÷ÊÔ¡£ÔÚ²úÆ·±àÒëÍê³ÉºóÉÏÏßassert´úÂë¾Í±»É¾³ýÁË¡£
·½·¨µÄ¸²¸ÇÖУ¬Èç¹û×ÓÀàµÄ·½·¨Å׳öµÄÀýÍâÊǸ¸Àà·½·¨Å׳öµÄÀýÍâµÄ¸¸ÀàÐÍ£¬ÄÇô±àÒë¾Í»á³ö´í£º×ÓÀàÎÞ·¨¸²¸Ç¸¸Àà¡£
½áÂÛ£º×ÓÀà·½·¨²»¿É±È¸¸Àà·½·¨Å׳ö¸ü¶àµÄÀýÍâ¡£×ÓÀàÅ׳öµÄÀýÍâ»òÕßÓ븸ÀàÅ׳öµÄÀýÍâÒ»Ö£¬»òÕßÊǸ¸ÀàÅ׳öÀýÍâµÄ×ÓÀàÐÍ¡£»òÕß×ÓÀàÐͲ»Å׳öÀýÍâ¡£
Èç¹û¸¸ÀàÐÍÎÞthrowsʱ£¬×ÓÀàÐÍÒ²²»ÔÊÐí³öÏÖthrows¡£´ËʱֻÄÜʹÓÃtry catch¡£
Á·Ï°£ºÐ´Ò»¸ö·½·¨£ºint add(int a,int b)
{
return a+b£»
}
µ±a+b=100;Å׳ö100ΪÒì³£´¦Àí¡£
12.02
¼¯ºÏ£¨´Ó±¾²¿·Ö¿ªÊ¼Éæ¼°API£©
¼¯ºÏÊÇÖ¸Ò»¸ö¶ÔÏóÈÝÄÉÁ˶à¸ö¶ÔÏó£¬Õâ¸ö¼¯ºÏ¶ÔÏóÖ÷ÒªÓÃÀ´¹ÜÀíά»¤Ò»ÏµÁÐÏàËƵĶÔÏó¡£
Êý×é¾ÍÊÇÒ»ÖÖ¶ÔÏó¡££¨Á·Ï°£ºÈçºÎ±àдһ¸öÊý×é³ÌÐò£¬²¢½øÐбéÀú¡££©
java.util.*¶¨ÒåÁËһϵÁеĽӿںÍÀ࣬¸æËßÎÒÃÇÓÃʲôÀàNEW³öÒ»¸ö¶ÔÏ󣬿ÉÒÔ½øÐг¬Ô½Êý×éµÄ²Ù×÷¡£
£¨×¢£ºJAVA1.5¶ÔJAVA1.4µÄ×î´ó¸Ä½ø¾ÍÊÇÔö¼ÓÁ˶Է¶Ð͵ÄÖ§³Ö£©
¼¯ºÏ¿ò¼Ü½Ó¿ÚµÄ·ÖÀࣺ£¨·Öcollection½Ó¿Ú ºÍ map½Ó¿Ú£©
Collection½Ó¿Ú Map½Ó¿Ú
List½Ó¿Ú Set½Ó¿Ú SortedMap½Ó¿Ú
SortedSet½Ó¿Ú
JAVAÖÐËùÓÐÓ뼯ºÏÓйصÄʵÏÖÀ඼ÊÇÕâÁù¸ö½Ó¿ÚµÄʵÏÖÀà¡£
Collection½Ó¿Ú£º¼¯ºÏÖÐÿһ¸öÔªËØΪһ¸ö¶ÔÏó£¬Õâ¸ö½Ó¿Ú½«ÕâЩ¶ÔÏó×éÖ¯ÔÚÒ»Æð£¬ÐγÉһά½á¹¹¡£
List½Ó¿Ú´ú±í°´ÕÕÔªËØÒ»¶¨µÄÏà¹Ø˳ÐòÀ´×éÖ¯£¨ÔÚÕâ¸öÐòÁÐÖÐ˳ÐòÊÇÖ÷ÒªµÄ£©£¬List½Ó¿ÚÖÐÊý¾Ý¿ÉÖظ´¡£
Set½Ó¿ÚÊÇÊýѧÖм¯ºÏµÄ¸ÅÄÆäÔªËØÎÞÐò£¬ÇÒ²»¿ÉÖظ´¡££¨ÕýºÃÓëList¶ÔÓ¦£©
SortedSet»á°´ÕÕÊý×Ö½«ÔªËØÅÅÁУ¬Îª“¿ÉÅÅÐò¼¯ºÏ”¡£
Map½Ó¿ÚÖÐÿһ¸öÔªËز»ÊÇÒ»¸ö¶ÔÏ󣬶øÊÇÒ»¸ö¼ü¶ÔÏóºÍÖµ¶ÔÏó×é³ÉµÄ¼üÖµ¶Ô£¨Key-Value£©¡£
Key-ValueÊÇÓÃÒ»¸ö²»¿ÉÖظ´µÄkey¼¯ºÏ¶ÔÓ¦¿ÉÖظ´µÄvalue¼¯ºÏ¡££¨µäÐ͵ÄÀý×ÓÊÇ×ֵ䣺ͨ¹ýÒ³ÂëµÄkeyÖµÕÒ×ÖµÄvalueÖµ£©¡£
Àý×Ó£º
key1—value1;
key2—value2;
key3—value3.
SortedMap£ºÈç¹ûÒ»¸öMap¿ÉÒÔ¸ù¾ÝkeyÖµÅÅÐò£¬Ôò³ÆÆäΪSortedMap¡££¨Èç×ֵ䣩
!!×¢ÒâÊý×éºÍ¼¯ºÏµÄÇø±ð£ºÊý×éÖÐÖ»ÄÜ´æ¼òµ¥Êý¾ÝÀàÐÍ¡£Collection½Ó¿ÚºÍMap½Ó¿ÚÖ»ÄÜ´æ¶ÔÏó¡£
ÒÔϽéÉܽӿڣº
List½Ó¿Ú£º£¨½éÉÜÆäϵÄÁ½¸öʵÏÖÀࣺArrayListºÍLinkedList£©
ArrayListºÍÊý×é·Ç³£ÀàËÆ£¬Æäµ×²ã¢ÙÒ²ÓÃÊý×é×éÖ¯Êý¾Ý£¬ArrayListÊǶ¯Ì¬¿É±äÊý×é¡£
¢Ù µ×²ã£ºÖ¸´æ´¢¸ñʽ¡£ËµÃ÷ArrayList¶ÔÏó¶¼ÊÇ´æÔÚÓÚÊý×éÖС£
×¢£ºÊý×éºÍ¼¯ºÏ¶¼ÊÇ´Óϱê0¿ªÊ¼¡£
ArrayListÓÐÒ»¸öadd(Object o)·½·¨ÓÃÓÚ²åÈëÊý×é¡£
ArrayListµÄʹÓ㺣¨Íê³ÉÕâ¸ö³ÌÐò£©
ÏÈimport java.util.*£»
ÓÃArrayListÔÚÒ»¸öÊý×éÖÐÌí¼ÓÊý¾Ý£¬²¢±éÀú¡£
ArrayListÖÐÊý×éµÄ˳ÐòÓëÌí¼Ó˳ÐòÒ»Ö¡£
Ö»ÓÐList¿ÉÓÃgetºÍsize¡£¶øSetÔò²»¿ÉÓã¨ÒòÆäÎÞÐò£©¡£
Collection½Ó¿Ú¶¼ÊÇͨ¹ýIterator()£¨¼´µü´úÆ÷£©À´¶ÔSetºÍList±éÀú¡£
ͨ¹ýÓï¾ä£ºIterator it=c.iterator(); µÃµ½Ò»¸öµü´úÆ÷£¬½«¼¯ºÏÖÐËùÓÐÔªËØ˳ÐòÅÅÁС£È»ºó¿ÉÒÔͨ¹ýinterator·½·¨½øÐбéÀú£¬µü´úÆ÷ÓÐÒ»¸öÓαָ꣨Õ룩ָÏòÊ×λÖá£
InteratorÓÐhasNext()£¬ÓÃÓÚÅжÏÔªËØÓÒ±ßÊÇ·ñ»¹ÓÐÊý¾Ý£¬·µ»ØTrue˵Ã÷ÓС£È»ºó¾Í¿ÉÒÔµ÷ÓÃnext¶¯×÷¡£Next()»á½«ÓαêÒƵ½ÏÂÒ»¸öÔªËØ£¬²¢°ÑËüËù¿ç¹ýµÄÔªËØ·µ»Ø¡££¨ÕâÑù¾Í¿ÉÒÔ¶ÔÔªËؽøÐбéÀú£©
Á·Ï°£ºÐ´Ò»¸ö³ÌÐò£¬ÊäÈë¶ÔÏóÐÅÏ¢£¬±È½Ï»ù±¾ÐÅÏ¢¡£
¼¯ºÏÖÐÿһ¸öÔªËض¼ÓжÔÏó£¬ÈçÓÐ×Ö·û´®Òª¾¹ýÇ¿ÖÆÀàÐÍת»»¡£
CollectionsÊǹ¤¾ßÀ࣬ËùÓз½·¨¾ùΪÓÐÓ÷½·¨£¬ÇÒ·½·¨Îªstatic¡£
ÓÐSort·½·¨ÓÃÓÚ¸øListÅÅÐò¡£
Collections.Sort()·ÖΪÁ½²¿·Ö£¬Ò»²¿·ÖΪÅÅÐò¹æÔò£»Ò»²¿·ÖΪÅÅÐòËã·¨¡£
¹æÔòÓÃÀ´Åж϶ÔÏó£»Ëã·¨ÊÇ¿¼ÂÇÈçºÎÅÅÐò¡£
¶ÔÓÚ×Ô¶¨Òå¶ÔÏó£¬Sort²»ÖªµÀ¹æÔò£¬ËùÒÔÎÞ·¨±È½Ï¡£ÕâÖÖÇé¿öÏÂÒ»¶¨Òª¶¨ÒåÅÅÐò¹æÔò¡£·½Ê½ÓÐÁ½ÖÖ£º
¢Ù java.langÏÂÃæÓÐÒ»¸ö½Ó¿Ú£ºComparable£¨¿É±È½ÏµÄ£©
¿ÉÒÔÈÃ×Ô¶¨Òå¶ÔÏóʵÏÖÒ»¸ö½Ó¿Ú£¬Õâ¸ö½Ó¿ÚÖ»ÓÐÒ»¸ö·½·¨comparableTo(Object o)
Æä¹æÔòÊǵ±Ç°¶ÔÏóÓëo¶ÔÏó½øÐбȽϣ¬Æä·µ»ØÒ»¸öintÖµ£¬ÏµÍ³¸ù¾Ý´ËÖµÀ´½øÐÐÅÅÐò¡£
Èç µ±Ç°¶ÔÏó>o¶ÔÏó£¬Ôò·µ»ØÖµ>0£»£¨¿É½«·µ»ØÖµ¶¨ÒåΪ1£©
Èç µ±Ç°¶ÔÏó=o¶ÔÏó£¬Ôò·µ»ØÖµ=0£»
Èç µ±Ç°¶ÔÏó
¿´TestArraylistµÄjava´úÂë¡£
ÎÒÃÇͨ¹ý·µ»ØÖµ1ºÍ-1λÖõĵ÷»»À´ÊµÏÖÉýÐòºÍ½µÐòÅÅÁеÄת»»£¬
µçÄÔ×ÊÁÏ
¡¶JAVAµÄÃæÏò¶ÔÏó±à³Ì¡·(https://www.unjs.com)¡£¢Ú java.utilÏÂÓÐÒ»¸öComparator(±È½ÏÆ÷)
ËüÓµÓÐcompare()£¬ÓÃÀ´±È½ÏÁ½¸ö·½·¨¡£
ÒªÉú³É±È½ÏÆ÷£¬ÔòÓÃSortÖÐSort£¨List,List(Compate)£©
µÚ¶þÖÖ·½·¨¸üÁé»î£¬ÇÒÔÚÔËÐеÄʱºò²»ÓñàÒë¡£
×¢Ò⣺ҪÏëʵÏÖcomparTo()¾Í±ØÐëÔÚÖ÷·½·¨ÖÐдÉÏimplement comparable.
Á·Ï°£ºÉú³ÉÒ»¸öEMPLOYEEÀ࣬Ȼºó½«Ò»ÏµÁжÔÏó·ÅÈëµ½ArrayList¡£ÓÃIterator±éÀú£¬ÅÅÐòÖ®ºó£¬ÔÙ½øÐбéÀú¡£
¼¯ºÏµÄ×î´óȱµãÊÇÎÞ·¨½øÐÐÀàÐÍÅж¨£¨Õâ¸öȱµãÔÚJAVA1.5ÖÐÒѾ½â¾ö£©£¬ÕâÑù¾Í¿ÉÄܳöÏÖÒòΪÀàÐͲ»Í¬¶ø³öÏÖÀàÐÍ´íÎó¡£
½â¾öµÄ·½·¨ÊÇÌí¼ÓÀàÐ͵ÄÅжϡ£
LinkedList½Ó¿Ú£¨ÔÚ´úÂëµÄʹÓùý³ÌÖкÍArrayListûÓÐʲôÇø±ð£©
ArrayListµ×²ãÊÇobjectÊý×飬ËùÒÔArrayList¾ßÓÐÊý×éµÄ²éѯËٶȿìµÄÓŵãÒÔ¼°ÔöɾËÙ¶ÈÂýµÄȱµã¡£
¶øÔÚLinkedListµÄµ×²ãÊÇÒ»ÖÖË«ÏòÑ»·Á´±í¡£ÔÚ´ËÁ´±íÉÏÿһ¸öÊý¾Ý½Úµã¶¼ÓÉÈý²¿·Ö×é³É£ºÇ°Ö¸Õ루ָÏòÇ°ÃæµÄ½ÚµãµÄλÖã©£¬Êý¾Ý£¬ºóÖ¸Õ루ָÏòºóÃæµÄ½ÚµãµÄλÖã©¡£×îºóÒ»¸ö½ÚµãµÄºóÖ¸ÕëÖ¸ÏòµÚÒ»¸ö½ÚµãµÄÇ°Ö¸Õ룬ÐγÉÒ»¸öÑ»·¡£
Ë«ÏòÑ»·Á´±íµÄ²éѯЧÂʵ͵«ÊÇÔöɾЧÂʸߡ£ËùÒÔLinkedList¾ßÓвéѯЧÂʵ͵«ÔöɾЧÂʸߵÄÌص㡣
ArrayListºÍLinkedListÔÚÓ÷¨ÉÏûÓÐÇø±ð£¬µ«ÊÇÔÚ¹¦ÄÜÉÏ»¹ÊÇÓÐÇø±ðµÄ¡£
LinkedList¾³£ÓÃÔÚÔöɾ²Ù×÷½Ï¶à¶ø²éѯ²Ù×÷ºÜÉÙµÄÇé¿öÏ£º¶ÓÁкͶÑÕ»¡£
¶ÓÁУºÏȽøÏȳöµÄÊý¾Ý½á¹¹¡£
¶ÑÕ»£ººó½øÏȳöµÄÊý¾Ý½á¹¹¡£
×¢Ò⣺ʹÓöÑÕ»µÄʱºòÒ»¶¨²»ÄÜÌṩ·½·¨Èò»ÊÇ×îºóÒ»¸öÔªËصÄÔªËØ»ñµÃ³öÕ»µÄ»ú»á¡£
LinkedListÌṩÒÔÏ·½·¨£º£¨ArrayListÎÞ´ËÀà·½·¨£©
addFirst();
removeFirst();
addLast();
removeLast();
ÔÚ¶ÑÕ»ÖУ¬pushΪÈëÕ»²Ù×÷£¬popΪ³öÕ»²Ù×÷¡£
PushÓÃaddFirst()£»popÓÃremoveFirst()£¬ÊµÏÖºó½øÏȳö¡£
ÓÃisEmpty()--Æ丸ÀàµÄ·½·¨£¬À´ÅжÏÕ»ÊÇ·ñΪ¿Õ¡£
ÔÚ¶ÓÁÐÖУ¬putΪÈë¶ÓÁвÙ×÷£¬getΪ³ö¶ÓÁвÙ×÷¡£
PutÓÃaddFirst()£¬getÓÃremoveLast()ʵÏÖ¶ÓÁС£
List½Ó¿ÚµÄʵÏÖÀࣨVector£©£¨ÓëArrayListÏàËÆ£¬Çø±ðÊÇVectorÊÇÖØÁ¿¼¶µÄ×é¼þ£¬Ê¹ÓÃʹÏûºÄµÄ×ÊÔ´±È½Ï¶à¡££©
½áÂÛ£ºÔÚ¿¼ÂDz¢·¢µÄÇé¿öÏÂÓÃVector£¨±£Ö¤Ï̵߳ݲȫ£©¡£
ÔÚ²»¿¼ÂDz¢·¢µÄÇé¿öÏÂÓÃArrayList£¨²»Äܱ£Ö¤Ï̵߳ݲȫ£©¡£
ÃæÊÔ¾Ñ飨֪ʶµã£©£º
java.util.stack£¨stack¼´Îª¶ÑÕ»£©µÄ¸¸ÀàΪVector¡£¿ÉÊÇstackµÄ¸¸ÀàÊÇ×î²»Ó¦¸ÃΪVectorµÄ¡£ÒòΪVectorµÄµ×²ãÊÇÊý×飬ÇÒVectorÓÐget·½·¨£¨Òâζ×ÅËü¿ÉÄÜ·ÃÎʵ½²¢²»ÊôÓÚ×îºóÒ»¸öλÖÃÔªËصÄÆäËûÔªËØ£¬ºÜ²»°²È«£©¡£
¶ÔÓÚ¶ÑÕ»ºÍ¶ÓÁÐÖ»ÄÜÓÃpushÀàºÍgetÀà¡£
StackÀàÒÔºó²»ÒªÇáÒ×ʹÓá£
£¡£¡£¡ÊµÏÖ¶ÑÕ»Ò»¶¨ÒªÓÃLinkedList¡£
£¨ÔÚJAVA1.5ÖУ¬collectionÓÐqueueÀ´ÊµÏÖ¶ÓÁС££©
Set-HashSetʵÏÖÀࣺ
±éÀúÒ»¸öSetµÄ·½·¨Ö»ÓÐÒ»¸ö£ºµü´úÆ÷£¨interator£©¡£
HashSetÖÐÔªËØÊÇÎÞÐòµÄ£¨Õâ¸öÎÞÐòÖ¸µÄÊÇÊý¾ÝµÄÌí¼Ó˳ÐòºÍºóÀ´µÄÅÅÁÐ˳Ðò²»Í¬£©£¬¶øÇÒÔªËز»¿ÉÖظ´¡£
ÔÚObjectÖгýÁËÓÐfinal()£¬toString()£¬equals()£¬»¹ÓÐhashCode()¡£
HashSetµ×²ãÓõÄÒ²ÊÇÊý×é¡£
µ±ÏòÊý×éÖÐÀûÓÃadd(Object o)Ìí¼Ó¶ÔÏóµÄʱºò£¬ÏµÍ³ÏÈÕÒ¶ÔÏóµÄhashCode£º
int hc=o.hashCode(); ·µ»ØµÄhashCodeΪÕûÊýÖµ¡£
Int I=hc%n;£¨nΪÊý×éµÄ³¤¶È£©£¬È¡µÃÓàÊýºó£¬ÀûÓÃÓàÊýÏòÊý×éÖÐÏàÓ¦µÄλÖÃÌí¼ÓÊý¾Ý£¬ÒÔnΪ6ΪÀý£¬Èç¹ûI=0Ôò·ÅÔÚÊý×éa[0]λÖã¬Èç¹ûI=1,Ôò·ÅÔÚÊý×éa[1]λÖá£Èç¹ûequals()·µ»ØµÄֵΪtrue£¬Ôò˵Ã÷Êý¾ÝÖظ´¡£Èç¹ûequals()·µ»ØµÄֵΪfalse£¬ÔòÔÙÕÒÆäËûµÄλÖýøÐбȽϡ£ÕâÑùµÄ»úÖƾ͵¼ÖÂÁ½¸öÏàͬµÄ¶ÔÏóÓпÉÄÜÖظ´µØÌí¼Óµ½Êý×éÖУ¬ÒòΪËûÃǵÄhashCode²»Í¬¡£
Èç¹ûÎÒÃÇÄܹ»Ê¹Á½¸öÏàͬµÄ¶ÔÏó¾ßÓÐÏàͬhashcode£¬²ÅÄÜÔÚequals()·µ»ØΪÕæ¡£
ÔÚʵÀýÖУ¬¶¨Òåstudent¶ÔÏóʱ¸²¸ÇËüµÄhashcode¡£
ÒòΪStringÀàÊÇ×Ô¶¯¸²¸ÇµÄ£¬ËùÒÔµ±±È½ÏStringÀàµÄ¶ÔÏóµÄʱºò£¬¾Í²»»á³öÏÖÓÐÁ½¸öÏàͬµÄstring¶ÔÏóµÄÇé¿ö¡£
ÏÖÔÚ£¬Ôڴ󲿷ֵÄJDKÖУ¬¶¼ÒѾҪÇ󸲸ÇÁËhashCode¡£
½áÂÛ£ºÈ罫×Ô¶¨ÒåÀàÓÃhashSetÀ´Ìí¼Ó¶ÔÏó£¬Ò»¶¨Òª¸²¸Çhashcode()ºÍequals()£¬¸²¸ÇµÄÔÔòÊDZ£Ö¤µ±Á½¸ö¶ÔÏóhashcode·µ»ØÏàͬµÄÕûÊý£¬¶øÇÒequals()·µ»ØֵΪTrue¡£
Èç¹û͵ÀÁ£¬Ã»ÓÐÉ趨equals()£¬¾Í»áÔì³É·µ»ØhashCodeËäÈ»½á¹ûÏàͬ£¬µ«ÔÚ³ÌÐòÖ´ÐеĹý³ÌÖлá¶à´ÎµØµ÷ÓÃequals()£¬´Ó¶øÓ°Ïì³ÌÐòÖ´ÐеÄЧÂÊ¡£
ÎÒÃÇÒª±£Ö¤Ïàͬ¶ÔÏóµÄ·µ»ØµÄhashCodeÒ»¶¨Ïàͬ£¬Ò²Òª±£Ö¤²»ÏàͬµÄ¶ÔÏóµÄhashCode¾¡¿ÉÄܲ»Í¬£¨ÒòΪÊý×éµÄ±ß½çÐÔ£¬hashCode»¹ÊÇ¿ÉÄÜÏàͬµÄ£©¡£Àý×Ó£º
public int hashCode(){
return name.hashcode()+age;
}
Õâ¸öÀý×Ó±£Ö¤ÁËÏàͬÐÕÃûºÍÄêÁäµÄ¼Ç¼·µ»ØµÄhashCodeÊÇÏàͬµÄ¡£
ʹÓÃhashSetµÄÓŵ㣺
hashSetµÄµ×²ãÊÇÊý×飬Æä²éѯЧÂʷdz£¸ß¡£¶øÇÒÔÚÔö¼ÓºÍɾ³ýµÄʱºòÓÉÓÚÔËÓõÄhashCodeµÄ±È½Ï¿ªÈ·¶¨Ìí¼ÓÔªËصÄλÖã¬ËùÒÔ²»´æÔÚÔªËصÄÆ«ÒÆ£¬ËùÒÔЧÂÊÒ²·Ç³£¸ß¡£ÒòΪhashSet²éѯºÍɾ³ýºÍÔö¼ÓÔªËصÄЧÂʶ¼·Ç³£¸ß¡£
µ«ÊÇhashSetÔöɾµÄ¸ßЧÂÊÊÇͨ¹ý»¨·Ñ´óÁ¿µÄ¿Õ¼ä»»À´µÄ£ºÒòΪ¿Õ¼äÔ½´ó£¬È¡ÓàÊýÏàͬµÄÇé¿ö¾ÍԽС¡£HashSetÕâÖÖËã·¨»á½¨Á¢Ðí¶àÎÞÓõĿռ䡣
ʹÓÃhashSet½Ó¿ÚʱҪעÒ⣬Èç¹û·¢Éú³åÍ»£¬¾Í»á³öÏÖ±éÀúÕû¸öÊý×éµÄÇé¿ö£¬ÕâÑù¾ÍʹµÃЧÂʷdz£µÄµÍ¡£
Á·Ï°£ºnewÒ»¸öhashset£¬²åÈëemployee¶ÔÏ󣬲»ÔÊÐíÖظ´£¬²¢ÇÒ±éÀú³öÀ´¡£
Ìí¼Ó֪ʶµã£º
¼¯ºÏ¶ÔÏó´æ·ÅµÄÊÇһϵÁжÔÏóµÄÒýÓá£
Àý£º
Student S
Al.add(s);
s.setName(“lucy”);
Student s2=(Student)(al.get(o1));
¿ÉÖªs2Ò²ÊÇs¡£
12.05
SortedSet¿É×Ô¶¯ÎªÔªËØÅÅÐò¡£
SortedSetµÄʵÏÖÀàÊÇTreeSet:ËüµÄ×÷ÓÃÊÇ×ÖΪÌí¼Óµ½TreeSetÖеÄÔªËØÅÅÐò¡£
Á·Ï°£º×Ô¶¨ÒåÀàÓÃTreeSetÅÅÐò¡£
ÓëHashSet²»Í¬£¬TreeSet²¢²»ÐèҪʵÏÖHashCode()ºÍequals()¡£
ֻҪʵÏÖcompareableºÍcompareTo()½Ó¿ÉÒÔʵÏÖ¹ýÂ˹¦ÄÜ¡£
£¨×¢£ºHashSet²»µ÷ÓÃCompareTo()£©¡£
Èç¹ûÒª²éѯ¼¯ºÏÖеÄÊý¾Ý£¬Ê¹ÓÃSet±ØÐëÈ«²¿±éÀú£¬ËùÒÔ²éѯµÄЧÂʵ͡£Ê¹ÓÃMap£¬¿Éͨ¹ý²éÕÒkeyµÃµ½value£¬²éѯЧÂʸߡ£
¼¯ºÏÖг£ÓõÄÊÇ£ºArrayList£¬HashSet£¬HashMap¡£ÆäÖÐArrayListºÍHashMapʹÓÃ×îΪ¹ã·º¡£
ʹÓÃHashMap£¬put()±íʾ·ÅÖÃÔªËØ£¬get()±íʾȡԪËØ¡£
±éÀúMap£¬Ê¹ÓÃkeySet()¿ÉÒÔ·µ»ØsetÖµ£¬ÓÃkeySet()µÃµ½keyÖµ£¬Ê¹Óõü´úÆ÷±éÀú£¬È»ºóʹÓÃput()µÃµ½valueÖµ¡£
ÉÏÃæÕâ¸öËã·¨µÄ¹Ø¼üÓï¾ä£º
Set s=m.keySet();
Interator it=new interator();
Object key=it.next();
Object value=m.get(key);
×¢Ò⣺HashMapÓëHashCodeÓйأ¬ÓÃSort¶ÔÏóÅÅÐò¡£
Èç¹ûÔÚHashMapÖÐÓÐkeyÖµÖظ´£¬ÄÇôºóÃæÒ»Ìõ¼Ç¼µÄvalue¸²¸ÇÇ°ÃæÒ»Ìõ¼Ç¼¡£
KeyÖµ¼ÈÈ»¿ÉÒÔ×÷Ϊ¶ÔÏó£¬ÄÇôҲ¿ÉÒÔÓÃÒ»¸ö×Ô¶¨ÒåµÄÀà¡£±ÈÈ磺
m.put(new sutdent(“Liucy”,30),”boss”)
Èç¹ûûÓÐÓï¾äÀ´Åж¨StudentÀà¶ÔÏóÊÇ·ñÏàͬ£¬Ôò»áÈ«²¿´òÓ¡³öÀ´¡£
µ±ÎÒÃÇÓÃ×Ô¶¨ÒåµÄÀà¶ÔÏó×÷Ϊkeyʱ£¬ÎÒÃDZØÐëÔÚ³ÌÐòÖи²¸ÇHashCode()ºÍequals()¡£
×¢£ºHashMapµ×²ãÒ²ÊÇÓÃÊý×飬HashSetµ×²ãʵ¼ÊÉÏÒ²ÊÇHashMap£¬HashSetÀàÖÐÓÐHashMapÊôÐÔ£¨ÎÒÃÇÈçºÎÔÚAPIÖвéÊôÐÔ£©¡£HashSetʵ¼ÊÉÏΪ(key.null)ÀàÐ͵ÄHashMap¡£ÓÐkeyÖµ¶øûÓÐvalueÖµ¡£
ÕýÒòΪÒÔÉϵÄÔÒò£¬TreeSetºÍTreeMapµÄʵÏÖÒ²ÓÐЩÀàËƵĹØϵ¡£
×¢Ò⣺TreeSetºÍTreeMap·Ç³£µÄÏûºÄʱ¼ä£¬Òò´ËºÜÉÙʹÓá£
ÎÒÃÇÓ¦¸ÃÊìϤ¸÷ÖÖʵÏÖÀàµÄÑ¡Ôñ——·Ç³£ÌåÏÖÄãµÄ¹¦µ×¡£
HashSet VS TreeSet£ºHashSet·Ç³£µÄÏûºÄ¿Õ¼ä£¬TreeSetÒòΪÓÐÅÅÐò¹¦ÄÜ£¬Òò´Ë×ÊÔ´ÏûºÄ·Ç³£µÄ¸ß£¬ÎÒÃÇÓ¦¸Ã¾¡Á¿ÉÙʹÓ㬶øÇÒ×îºÃ²»ÒªÖظ´Ê¹Óá£
»ùÓÚÒÔÉÏÔÒò£¬ÎÒÃǾ¡¿ÉÄܵÄÔËÓÃHashSet¶ø²»ÓÃTreeSet£¬³ý·Ç±ØÐëÅÅÐò¡£
ͬÀí£ºHashMap VS TreeMap:Ò»°ãʹÓÃHashMap£¬ÅÅÐòµÄʱºòʹÓÃTreeMap¡£
HashMap VS Hashtable£¨×¢ÒâÔÚÕâÀïtableµÄµÚÒ»¸ö×ÖĸСд£©Ö®¼äµÄÇø±ðÓÐЩÀàËÆÓÚArrayListºÍVector£¬HashtableÊÇÖØÁ¿¼¶µÄ×é¼þ£¬ÔÚ¿¼ÂDz¢·¢µÄÇé¿ö£¬¶Ô°²È«ÐÔÒªÇó±È½Ï¸ßµÄʱºòʹÓá£
MapµÄÔËÓ÷dz£µÄ¶à¡£
ʹÓÃHashMap()£¬Èç¹ûʹÓÃ×Ô¶¨ÒåÀ࣬һ¶¨Òª¸²¸ÇHashCode()ºÍequals()¡£
ÖصãÕÆÎÕ¼¯ºÏµÄËÄÖÖ²Ù×÷£ºÔö¼Ó¡¢É¾³ý¡¢±éÀú¡¢ÅÅÐò¡£
Module8—12ÀûÓÃÁ½ÌìµÄʱ¼äÍê³É¡£
Module8£ºÍ¼ÐνçÃæ
Module9£ºÊ¼þÄ£ÐÍ£¨ÔÚ±¾²¿·Ö×îÖØÒª£©
Module10£ºAWT
Module11£ºSwing
Module12£ºApplet£¨Õâ¸ö¼¼Êõ»ù±¾ÒѾ±»ÌÔÌ£©
Èí¼þÓ¦ÓõÄÈý¸ö·¢Õ¹½×¶Î£º
µ¥»úÓ¦ÓÃ
ÍøÂçÓ¦Óã¨C/S½á¹¹£©
BS½á¹¹£ºB±íʾä¯ÀÀÆ÷£¬S±íʾserver¶Ë¡£¼´ÀûÓÃä¯ÀÀÆ÷×÷Ϊ¿Í»§¶Ë£¬Òò´Ë¶ÔÓÚͼÐνçÃæµÄÒªÇóÒѾ²»¸ß£¬ÏÖÔڵķ¢Õ¹Ç÷ÊÆÊDz»Ê¹Óð²×°£¬¼´²»ÓÃÈκεı¾µØÓ¦Óã¬Í¼Ðκܿì¾Í»á±»·þÎñÆ÷¹¹¼þ¿ª·¢ËùÈ¡´ú¡£
¾Ñé̸֮£ºSwingµÄ¿ª·¢¹¤×÷»á·Ç³£µÄÀÛ£¬¶øÇÒÕâÏî¼¼ÊõÕýÔÚ×ßÏòûÂä¡£±ÜÃâ´ÓÊÂÓÐÕâÖÖÌØÕ÷µÄ¹¤×÷¡£
AWTÒ²¼´½«±»È¡´ú¡£
Module8—Module11ËùʹÓõļ¼Êõ¶¼½«±»JSF¼¼ÊõËùÈ¡´ú¡£
JSFÊÇ·þÎñÆ÷¶ËµÄSwing£ºÄ¿Ç°¼¼ÊõÒѾ³ÉÊ죬µ«ÊÇ¿ª·¢»·¾³£¨¹¤¾ß£©»¹²»³ÉÊì¡£
Module12µÄApplet¼¼ÊõÒ²½«±»WebStartËùÈ¡´ú¡£
Module9ΪÖص㣬ËùνʼþÄ£ÐÍÊÇÖ¸¹Û²ìÕßÉè¼ÆģʽµÄJAVAÓ¦Óá£Ê¼þÄ£ÐÍÊÇÖص㡣
Module8£ºÍ¼ÐνçÃ棨java.awt.*£©
Awt£º³éÏó´°¿Ú¹¤¾ßÏ䣬ËüÓÉÈý²¿·Ö×é³É£º
¢Ù×é¼þ£º½çÃæÔªËØ£»
¢ÚÈÝÆ÷£º×°ÔØ×é¼þµÄÈÝÆ÷£¨ÀýÈç´°Ì壩£»
¢Û²¼¾Ö¹ÜÀíÆ÷£º¸ºÔð¾ö¶¨ÈÝÆ÷ÖÐ×é¼þµÄ°Ú·ÅλÖá£
ͼÐνçÃæµÄÓ¦Ó÷ÖËIJ½£º
¢Ù Ñ¡ÔñÒ»¸öÈÝÆ÷£º
¢Åwindow:´ø±êÌâµÄÈÝÆ÷£¨ÈçFrame£©£»
¢ÆPanel:Ãæ°å
ͨ¹ýadd()ÏëÈÝÆ÷ÖÐÌí¼Ó×é¼þ¡£
JavaµÄͼÐνçÃæÒÀÈ»ÊÇ¿çƽ̨µÄ¡£µ«ÊÇÔÚµ÷ÓÃÁËÒ»¸ö´°ÌåÖ®ºóÖ»Éú³ÉÒ»¸ö´°Ì壬ûÓÐʼþµÄ´¦Àí£¬¹Ø±Õ°´Å¥²¢²»¹¤×÷¡£´ËʱֻÄÜʹÓÃCTRL+CÖÕÖ¹³ÌÐò¡£
¢ÚÉèÖÃÒ»¸ö²¼¾Ö¹ÜÀíÆ÷£ºÓÃsetLayout()£»
¢ÛÏòÈÝÆ÷ÖÐÌí¼Ó×é¼þ£»
¢Û Ìí¼Ó×é¼þµÄÊÂÎñ´¦Àí¡£P198
P204£ºPanelÒ²ÊÇÒ»ÖÖÈÝÆ÷£ºµ«ÊDz»¿É¼ûµÄ¡£ÔÚÉèÖÃÈÝÒ×µÄʱºò²»ÒªÍü¼ÇÉèÖÃËüÃǵĿɼûÐÔ¡£
Panel pan=new Panel;
Fp.setLayout(null);±íʾ²»Òª²¼¾Ö¹ÜÀíÆ÷¡£
ÎåÖÖ²¼¾Ö¹ÜÀíÆ÷£º
P206£ºFlow Layout(Á÷ʽ²¼¾Ö)£º°´ÕÕ×é¼þÌí¼Óµ½ÈÝÆ÷ÖеÄ˳Ðò£¬Ë³ÐòÅÅ·Å×é¼þλÖá£Ä¬ÈÏΪˮƽÅÅÁУ¬Èç¹ûÔ½½çÄÇô»áÏòÏÂÅÅÁС£ÅÅÁеÄλÖÃËæ×ÅÈÝÆ÷´óСµÄ¸Ä±ä¶ø¸Ä±ä¡£
PanelĬÈϵIJ¼¾Ö¹ÜÀíÆ÷ΪFlow Layout¡£
Border Layout£º»á½«ÈÝÆ÷·Ç³£Îå¸öÇøÓò£º¶«Î÷Äϱ±ÖС£
Óï¾ä£º
Button b1=new Botton(“north”);//bottonÉϵÄÎÄ×Ö
f.add(b1,”North”);//±íʾb1Õâ¸öbotton·ÅÔÚnorthλÖÃ
×¢£ºÒ»¸öÇøÓòÖ»ÄÜ·ÅÖÃÒ»¸ö×é¼þ£¬Èç¹ûÏëÔÚÒ»¸öÇøÓò·ÅÖöà¸ö×é¼þ¾ÍÐèҪʹÓÃPanelÀ´×°ÔØ¡£
FrameºÍDialogµÄĬÈϲ¼¾Ö¹ÜÀíÆ÷ÊÇBorder Layout¡£
Grid Layout£º½«ÈÝÆ÷Éú³ÉµÈ³¤µÈ´óµÄÌõÁиñ£¬Ã¿¸ö¿éÖзÅÖÃÒ»¸ö×é¼þ¡£
f.setLayout GridLayout(5,2,10,10)//±íʾÌõÁиñΪ5ÐÐ2À࣬ºóÃæΪ¸ñ¼ä¾à¡£
CardLayout:Ò»¸öÈÝÆ÷¿ÉÒÔ·ÅÖöà¸ö×é¼þ£¬µ«Ã¿´ÎÖ»ÓÐÒ»¸ö×é¼þ¿É¼û£¨×é¼þÖصþ£©¡£
ʹÓÃfirst()£¬last()£¬next()¿ÉÒÔ¾ö¶¨Äĸö×é¼þ¿É¼û¡£¿ÉÒÔÓÃÓÚ½«Ò»ÏµÁеÄÃæ°åÓÐ˳ÐòµØ³ÊÏÖ¸øÓû§¡£
Öص㣺GridBag Layout:ÔÚGridÖпÉÖ¸¶¨Ò»¸ö×é¼þÕ¼¾Ý¶àÐжàÁУ¬GridBagµÄÉèÖ÷dz£µÄ·³Ëö¡£
Module9:AWT:ʼþÄ£ÐÍ
ʼþÄ£ÐÍÖ¸µÄÊǶÔÏóÖ®¼ä½øÐÐͨÐŵÄÉè¼Æģʽ¡£
¶ÔÏó1¸ø¶ÔÏó2·¢ËÍÒ»¸öÐÅÏ¢Ï൱ÓÚ¶ÔÏó1ÒýÓöÔÏó2µÄ·½·¨¡£
Ä£Ðͼ´ÊÇÒ»ÖÖÉè¼Æģʽ£¨Ô¼¶¨Ë׳ɣ©
¶ÔÏó¶ÔΪÈýÖÖ£º
¢ÙʼþÔ´£º·¢³öʼþÕߣ»
¢Úʼþ¶ÔÏ󣺷¢³öµÄʼþ±¾Éí£»
¢Ü ʼþ £ºÌṩ´¦ÀíʼþÖ¸¶¨µÄ·½·¨¡£
Java AWTʼþÄ£ÐÍÒ²³ÆΪÊÚȨʼþÄ£ÐÍ£¬Ö¸Ê¼þ¿ÉÒÔºÍ Ö®¼äÊÂÏȽ¨Á¢Ò»ÖÖ¹Øϵ£ºÔ¼¶¨ÄÇЩʼþÈçºÎ´¦Àí£¬ÓÉËÈ¥½øÐд¦Àí¡£ÕâÖÖÔ¼¶¨³ÆΪÊÚȨ¡£
Ò»¸öʼþÔ´¿ÉÒÔÊÚȨ¶à¸ö¼àÌýÕߣ¨ÊÚȨҲ³ÆΪ¼àÌýÕßµÄ×¢²á£©£»
¶à¸öʼþÔ´Ò²¿ÉÒÔ×¢²á¶à¸öʼþ ¡£
¼àÌýÕ߶ÔÓÚʼþÔ´µÄ·¢³öµÄʼþ×÷³öÏìÓ¦¡£
ÔÚjava.utilÖÐÓÐEventListener½Ó¿Ú£ºËùÓÐʼþ¼àÌýÕ߶¼ÒªÊµÏÖÕâ¸ö½Ó¿Ú¡£
java.utilÖÐÓÐEventObjectÀࣺËùÓеÄʼþ¶¼ÎªÆä×ÓÀà¡£
ʼþ·¶ÀýÔÚCoreJavaGirl.javaÎļþÖС£(ÎļþÒѼÓ×¢ÊÍ)
×¢Ò⣺½Ó¿ÚÒò¶Ô²»Í¬µÄʼþ ¶ÔÆä´¦Àí¿ÉÄܲ»Í¬£¬ËùÒÔÖ»Äܽ¨Á¢¼àÌýµÄ¹¦ÄÜ£¬¶øÎÞ·¨ÊµÏÖ´¦Àí¡£
ÏÂÃæ³ÌÐò½¨Á¢¼àÌý¹¦ÄÜ£º
// ½Ó¿ÚÒª¶¨Òå Ëù¾ß±¸µÄ¹¦ÄÜ£¬¶¨Òå·½·¨
{
void WhatIdoWhenGirlHappy(EmotionEvent e);
void WhatIdoWhenGirlSad(EmotionEvent e);
}
×¢Òâ²é¿´²Î¿¼Ê飺ʼþµÄÉèÖÃģʽ£¬ÈçºÎʵÏÖÊÚȨģÐÍ¡£
ʼþģʽµÄʵÏÖ²½Ö裺
¿ª·¢Ê¼þ¶ÔÏó£¨Ê¼þ·¢ËÍÕߣ©——½Ó¿Ú——½Ó¿ÚʵÏÖÀà——ÉèÖüàÌý¶ÔÏó
Ò»¶¨ÒªÀí½â͸³¹Gril.java³ÌÐò¡£
Öص㣺ѧ»á´¦Àí¶ÔÒ»¸öʼþÔ´Óжà¸öʼþµÄ £¨ÔÚ·¢ËÍÏûϢʱ ÊÕµ½ÏûÏ¢µÄÅÅÃû²»·ÖÏȺ󣩡£
ʼþ¼àÌýµÄÏìӦ˳ÐòÊDz»·ÖÏȺóµÄ£¬²»ÊÇËÏÈ×¢²á˾ÍÏÈÏìÓ¦¡£
ʼþ¼àÌýÓÉÁ½¸ö²¿·Ö×é³É£¨½Ó¿ÚºÍ½Ó¿ÚµÄʵÏÖÀࣩ¡£
ʼþÔ´ ʼþ¶ÔÏó ʼþ¼àÌý
gril EmotinEvent EmotionListener(½Ó¿Ú)¡¢Boy(½Ó¿ÚµÄʵÏÖÀà)
Êó±êʼþ£ºMouseEvent£¬½Ó¿Ú£ºMouseListener¡£
P235 ActionEvent¡£
×¢ÒâÔÚд³ÌÐòµÄʱºò£ºimport java.awt.*;ÒÔ¼°import java.awt.event.*×¢ÒâÁ½ÕߵIJ»Í¬¡£
ÔÚÉú³ÉÒ»¸ö´°ÌåµÄʱºò£¬µã»÷´°ÌåµÄÓÒÉϽǹرհ´Å¥¼¤·¢´°ÌåʼþµÄ·½·¨£º´°ÌåFrameΪʼþÔ´£¬WindowsListener½Ó¿Úµ÷ÓÃWindowsclosing()¡£
ΪÁËÅäºÏºóÃæµÄʵÏÖ£¬ÎÒÃDZØÐ뽫WindowsListenerËùÓеķ½·¨¶¼ÊµÏÖ£¬³ýÁËWindowsclosing·½·¨£¬ÆäÓàµÄ·½·¨¾ùΪ¿ÕʵÏÖ¡£
£¨Á·Ï°£ºÐ´Ò»¸ö´øbutton´°Ì壬µã¹Ø±Õ°´Å¥Í˳ö¡££©
ÉÏÃæ³ÌÐòÖÐʵÏÖÁËÐí¶à²»±ØÒªµÄʵÏÖÀ࣬ËäÈ»ÊÇ¿ÕʵÏÖ¡£
ΪÁ˱ÜÃâÉÏÃæÄÇЩÎÞÓõÄʵÏÖ£¬¿ÉÒÔÀûÓÃWindowEventµÄÒ»¸öWindowEventÀ࣬»¹ÊÇÀûÓÃwindowsListener¡£»¹ÓÐWindowAdapterÀ࣬ËüÒѾʵÏÖÁËWindowsListener¡£Ëü¸ø³öµÄÈ«²¿¶¼ÊÇ¿ÕʵÏÖ£¬ÄǾͿÉÒÔֻдÏëҪʵÏÖµÄÀ࣬ȥ¸²¸ÇÆäÖеÄÀ࣬¾Í²»ÓÃд¿ÕʵÏÖ¡£
×¢Ò⣺¼àÌý¹ý¶à£¬»áÅ×tooManyListenerÀýÍâ¡£
12.06
Module 10
Canvas×é¼þ£º»²¼£¬¿ÉÒÔʵÏÖ¶¯»²Ù×÷¡£
TextArea£ºÎı¾Óò¡£
ÔÚµ¥ÐÐÎı¾ÓòÖлسµ»á¼¤·¢ActionEvent¡£
ÓÃCheckBoxGroupʵÏÖµ¥Ñ¡¿ò¹¦ÄÜ¡£
JavaÖУ¬µ¥Ñ¡¿òºÍ¸´Ñ¡¿ò¶¼ÊÇʹÓÃCheckBoxʵÏÖ¡£
²Ëµ¥£ºnew MenuBar()£¬MenuBar±íʾ²Ëµ¥Ìõ¡£
²Ëµ¥ÖеÄÿһÏîΪMenuItem£¬Ò»°ã¼¶Áª²Ëµ¥²»Ó¦¸Ã³¬¹ýÈý¼¶¡£
Á·Ï°£º
Éè¼ÆÒ»¸ö¼ÆËãÆ÷£º×¢ÒâÉèÖÃÒ»¸öbooleanÖµ£¨append£©À´ÅжÏÊäÈëÊý×ÖÊÇλÓÚµÚÒ»¸öÊýµÄºóÃ滹ÊÇÊôÓÚÊäÈëµÄµÚ¶þ¸öÊý¡£
ÉèÖÃÒ»¸ö±äÁ¿À´´æ·Å“+”£¬µãÍêÔËËã·ûºó£¬½«appendÉèÖÃΪfalse¡£
String number1
Char operator ´æ·ÅÔËËã·û¡£
Module 11 Swing
AWTÊÇJava×îÔç³öÏÖµÄͼÐνçÃ棬µ«ºÜ¿ì¾Í±»SwingËùÈ¡´ú¡£
Swing²ÅÊÇÒ»ÖÖÕæÕýµÄͼÐοª·¢¡£
AWTÔÚ²»Í¬Æ½Ì¨Ëù³öÏֵĽçÃæ¿ÉÄÜÓÐËù²»Í¬£ºÒòΪÿ¸öOS¶¼ÓÐ×Ô¼ºµÄUI×é¼þ¿â£¬javaµ÷Óò»Í¬ÏµÍ³µÄUI¡£
×¢ÒâAWTΪÖØÁ¿¼¶×é¼þ£¬Ï൱ÏûºÄ×ÊÔ´£¬ÇÒ²»Í¬ÏµÍ³µÄ×é¼þ¿ÉÄܲ»Í¬¡£ÒòΪÕâ¸öÎÊÌâʹµÃAWT¿ª·¢µÄÈí¼þÄÑÒÔ×÷µ½¿çƽ̨¡£
¸üΪҪÃüµÄÊÇ£º²»Í¬OSµÄ×é¼þ¿â¶¼´æÔÚBUG¡£±ØÐë¶àÖÖƽ̨½øÐвâÊÔ£¬²¢ÇÒAWTµÄ×é¼þ¿â²¢²»·á¸»¡£
Ϊ½â¾öÒÔÉÏÎÊÌ⣬SUNºÍIBMÒÔ¼°NETSCAPEÁªºÏ¿ª·¢³öJAVA»ù´¡Àà°üSwing£º×¢ÒâJAVAµÄ»ù´¡ÀàÒÔSwingΪºËÐÄ¡£
×¢ÒâÒýÓãºjavax.swing.*;javax±íʾJAVAµÄÀ©Õ¹¡£
ÎÒÃÇÔÚѧϰJDBCµÄʱºò»á¹ý¶Èµ½J2EE¡£
ÔÚSwingµÄ×é¼þÖУ¬»ù±¾É϶¼ÊÇÔÚAWT×é¼þµÄÃû³ÆÇ°Ãæ¼Ó“J”¡£
Ò»°ãÇé¿öÏ£¬³ýÁËChoiseµÈ×é¼þ:
import javax.swing.*;ºÃÒª¼ÓÉÏ£ºimport java.awt.*ÒÔ¼°import java.awt.event.*¡£
SwingÓëAWTµÄ×î´óÇø±ðÊÇSwingΪJAVA×ÔÉíµÄ×é¼þ¡£ÒѾ²»ÊǶԵÈʵÌ壬Óëµ×²ãµÄOSÎ޹ء£
£¨JBUILDER¾ÍÊÇʹÓÃSwingдµÄ£©
SwingÓëAWTÔÚʼþÄ£ÐÍ´¦ÀíÉÏÊÇÒ»Öµġ£
Jframeʵ¼ÊÉÏÊÇÒ»¶Ñ´°ÌåµÄµþ¼Ó¡£
Swing±ÈAWT¸ü¼Ó¸´ÔÓÇÒÁé»î¡£
ÔÚJDK1.4ÖУ¬¸øJFRAMEÌí¼ÓButton²»¿ÉÓÃjf.add(b)¡£¶øÊÇʹÓÃjf.getContentPane().add(b)¡£
contentÊÇÏÈÉêÇëÃæ°å¡£²»¹ýÔÚJDK1.5ÖпÉÒÔʹÓÃadd.¡£
JpanelÖ§³ÖË«»º³å¼¼Êõ¡£
ÔÚJbuttonÖпÉÒÔÌí¼Óͼ±ê¡£
JscrollPane¿ÉÒÔ¹ÜÀí±ÈÆÁÄ»»¹Òª´óµÄ×é¼þ¡£
TextAreaÖ»ÓÐ×°ÈëJscrollPaneÖвÅÄÜʵÏÖ¹ö¶¯Ìõ¡£
JeditorPaneÓÃÓÚÏÔʾä¯ÀÀÆ÷¡£
×¢Ò⣺Tabbed PanelÓëBorderµÄ±È½Ï¡£
½ø¶ÈÌõ£ºProgressBar¡£
JcomboBox£ºÏÂÀ²Ëµ¥£ºÔÚAWTÖÐͬÀà×é¼þÊÇchoice¡£
JlistPanel£ºÑ¡ÔñÁбí
BorderPanel£ºÉèÖñ߿ò
JsplitPanel£º¿É½«ÈÝÆ÷·ÖΪÁ½¸ö²¿·Ö£¬ÆäÖÐÒ»¸ö²¿·ÖÓÐJtree¡£
TextBox£ºÒ²ÊÇÒ»ÖÖеÄÈÝÆ÷£¬¿ÉÒÔÉèÖÃ×é¼þµÄ¼ä¾à¡£
TextFileChoose£ºÎļþÑ¡ÔñÆ÷¡£
ColorChoose£ºÑÕÉ«Ñ¡ÔñÆ÷
Module 12 Applet
AppletΪPanelµÄ×ÓÀà
AppletÊÇjavaµÄ×Ô¶¯Ö´Ðз½Ê½£¨ÕâÊÇËüµÄÓÅÊÆ£¬Ö÷ÒªÓÃÓÚHTML£©¡£
¹¤×÷ËÄÖÖÓï·¨£ºinit()£¬start()£¬stop()£¬destory()¡£
SwingÖÐÓÐÒ»¸öJapplet£¬ÈçʹÓÃSwing×é¼þ¡£
AppletÏûÍöµÄÔÒò£º
¢ÙjavaΪ°²È«Æð¼û¶ÔAppletÓÐËùÏÞÖÆ£ºApplet²»ÔÊÐí·ÃÎʱ¾µØÎļþÐÅÏ¢¡¢Ãô¸ÐÐÅÏ¢£¬²»ÄÜÖ´Ðб¾µØÖ¸Á±ÈÈçFORMAT£©£¬²»ÄÜ·ÃÎʳõÔ·þÎñÆ÷Ö®ÍâµÄÆäËû·þÎñÆ÷¡£
¢Ú IE²»Ö§³Öа汾µÄApplet¡£
AppletµÄÓÅÊÆ£º
ÍøÂç´«Ê䣬×Ô¶¯ÏÂÔØ¡£
ApplicationµÄÓÅÊÆ£ºÃ»ÓÐÖ´ÐÐÏÞÖÆ¡£
WebStart£º¿ÉÔÚÍøÂç´«Ê䣬²¢ÇÒÔÚ±¾µØÎÞÏÞÖÆ¡£Òò´ËÇ°¾°¹âÃ÷¡£
Á·Ï°£º
ʹÓÃSwingʵÏÖÒ»¸ö½çÃ棬·ÖΪÉÏÏÂÁ½¸ö²¿·Ö£¬ÄϱßΪJtextField×é¼þ£¬¿É±à¼£¬ÉÏÃæΪJtextArea×é¼þ£¬²»¿É±à¼£¬ÔÚJtextField×é¼þÊäÈë×Ö·û£¬°´»Ø³µ£¬¾Í¿ÉÒÔ½«ÄÚÈÝÊäÈëµ½JtextArea×é¼þ¡£(AREAÇøÓò¿ÉÒÔ¹ö¶¯)
12.07
¶àÏß³Ì
½ø³Ì£ºÈÎÎñ
ÈÎÎñ²¢·¢Ö´ÐÐÊÇÒ»¸öºê¹Û¸ÅÄ΢¹ÛÉÏÊÇ´®Ðеġ£
½ø³ÌµÄµ÷¶ÈÊÇÓÐOS¸ºÔðµÄ£¨ÓеÄϵͳΪ¶Àռʽ£¬ÓеÄϵͳΪ¹²Ïíʽ£¬¸ù¾ÝÖØÒªÐÔ£¬½ø³ÌÓÐÓÅÏȼ¶£©¡£
ÓÉOS½«Ê±¼ä·ÖΪÈô¸É¸öʱ¼äƬ¡£
JAVAÔÚÓïÑÔ¼¶Ö§³Ö¶àÏ̡߳£
·ÖÅäʱ¼äµÄÈÔÈ»ÊÇOS¡£
²Î¿´P377
Ïß³ÌÓÉÁ½ÖÖʵÏÖ·½Ê½£º
µÚÒ»ÖÖ·½Ê½£º
class MyThread extends Thread{
public void run(){
ÐèÒª½øÐÐÖ´ÐеĴúÂ룬ÈçÑ»·¡£
}
}
public class TestThread{
main(){
Thread t1=new Mythread();
T1.start();
}
}
Ö»Óеȵ½ËùÓеÄÏß³ÌÈ«²¿½áÊøÖ®ºó£¬½ø³Ì²ÅÍ˳ö¡£
µÚ¶þÖÖ·½Ê½£º
Class MyThread implements Runnable{
Public void run(){
Runnable target=new MyThread();
Thread t3=new Thread(target);
Thread.start();//Æô¶¯Ïß³Ì
}
}
P384:ͨ¹ý½Ó¿ÚʵÏּ̳Ð
Á·Ï°£ºÐ´Á½¸öỊ̈߳º
¢Ù ÊäÈë200¸ö“###”¢ÚÊäÈë200¸ö“***”
ÏÂÃæΪÏß³ÌÖеÄ7Öзdz£ÖØÒªµÄ״̬£º£¨ÓеÄÊéÉÏÒ²Ö»ÓÐÈÏΪǰÎåÖÖ״̬£º¶ø½«“Ëø³Ø”ºÍ“µÈ´ý¶ÓÁД¶¼¿´³ÉÊÇ“×èÈû”״̬µÄÌØÊâÇé¿ö£ºÕâÖÖÈÏʶҲÊÇÕýÈ·µÄ£¬µ«Êǽ«“Ëø³Ø”ºÍ“µÈ´ý¶ÓÁДµ¥¶À·ÖÀë³öÀ´ÓÐÀûÓÚ¶Ô³ÌÐòµÄÀí½â£©
¢Ù ¢Å
¢Ú ¢Æ
¢Û ¢Ç run()½áÊø
Start()
OS·ÖÅäCPU
CPUʱ¼äƬ½áÊø
yield() o.wait()
µÈ´ýËø±ê¼Ç
notify()
×¢Ò⣺ͼÖбê¼ÇÒÀ´ÎΪ
¢ÙÊäÈëÍê±Ï£»¢Úwake up¢Ût1Í˳ö
¢ÅÈçµÈ´ýÊäÈ루ÊäÈëÉ豸½øÐд¦Àí£¬¶øCUP²»´¦Àí£©£¬Ôò·ÅÈë×èÈû£¬Ö±µ½ÊäÈëÍê±Ï¡£
¢ÆÏß³ÌÐÝÃßsleep£¨£©
¢Çt1.join()ָֹͣmain()£¬È»ºóÔÚij¶Îʱ¼äÄÚ½«t1¼ÓÈëÔËÐжÓÁУ¬Ö±µ½t1Í˳ö£¬main()²Å½áÊø¡£
Ìرð×¢Ò⣺¢Ù¢Ú¢ÛÓë¢Å¢Æ¢ÇÊÇÒ»Ò»¶ÔÓ¦µÄ¡£
½ø³ÌµÄÐÝÃߣºThread sleep(1000);//À¨ºÅÖÐÒÔºÁÃëΪµ¥Î»
µ±main()ÔËÐÐÍê±Ï£¬¼´Ê¹ÔÚ½áÊøʱʱ¼äƬ»¹Ã»ÓÐÓÃÍ꣬CPUÒ²·ÅÆú´Ëʱ¼äƬ£¬¼ÌÐøÔËÐÐÆäËû³ÌÐò¡£
Try{Thread.sleep(1000);}
Catch(Exception e){e.printStackTrace(e);}
T1.join()±íʾÔËÐÐÏ̷߳ÅÆúÖ´ÐÐȨ£¬½øÈë×èÈû״̬¡£
µ±t1½áÊøʱ£¬main()¿ÉÒÔÖØнøÈëÔËÐÐ״̬¡£
T1.joinʵ¼ÊÉÏÊǰѲ¢·¢µÄÏ̱߳à³Ì²¢ÐÐÔËÐС£
Ï̵߳ÄÓÅÏȼ¶£º1-10£¬Ô½´óÓÅÏȼ¶Ô½¸ß£¬ÓÅÏȼ¶Ô½¸ß±»OSÑ¡ÖеĿÉÄÜÐÔ¾ÍÔ½´ó¡££¨²»½¨ÒéʹÓã¬ÒòΪ²»Í¬²Ù×÷ϵͳµÄÓÅÏȼ¶²¢²»Ïàͬ£¬Ê¹µÃ³ÌÐò²»¾ß±¸¿çƽ̨ÐÔ£¬ÕâÖÖÓÅÏȼ¶Ö»ÊÇ´ÖÂԵػ®·Ö£©¡£
×¢£º³ÌÐòµÄ¿çƽ̨ÐÔ£º³ýÁËÄܹ»ÔËÐУ¬»¹±ØÐë±£Ö¤ÔËÐеĽá¹û¡£
Ò»¸öʹÓÃyield()¾ÍÂíÉϽ»³öÖ´ÐÐȨ£¬»Øµ½¿ÉÔËÐÐ״̬£¬µÈ´ýOSµÄÔٴε÷Óá£
ÏÂÎ磺
³ÌÐòÔ±ÐèÒª¹Ø×¢µÄÏß³Ìͬ²½ºÍ»¥³âµÄÎÊÌâ¡£
¶àÏ̵߳IJ¢·¢Ò»°ã²»ÊdzÌÐòÔ±¾ö¶¨£¬¶øÊÇÓÉÈÝÆ÷¾ö¶¨¡£
¶àÏ̳߳öÏÖ¹ÊÕϵÄÔÒò£º
Á½¸öÏß³Ìͬʱ·ÃÎÊÒ»¸öÊý¾Ý×ÊÔ´£¨ÁÙ½ç×ÊÔ´£©£¬ÐγÉÊý¾Ý·¢Éú²»Ò»ÖºͲ»ÍêÕû¡£
Êý¾ÝµÄ²»Ò»ÖÂÍùÍùÊÇÒòΪһ¸öÏß³ÌÖеÄÁ½¸ö¹ØÁªµÄ²Ù×÷Ö»Íê³ÉÁËÒ»²½¡£
±ÜÃâÒÔÉϵÄÎÊÌâ¿É²ÉÓöÔÊý¾Ý½øÐмÓËøµÄ·½·¨
ÿ¸ö¶ÔÏó³ýÁËÊôÐԺͷ½·¨£¬¶¼ÓÐÒ»¸ömonitor£¨»¥³âËø±ê¼Ç£©£¬ÓÃÀ´½«Õâ¸ö¶ÔÏ󽻸øÒ»¸öỊ̈߳¬Ö»ÓÐÄõ½monitorµÄÏ̲߳ÅÄܹ»·ÃÎÊÕâ¸ö¶ÔÏó¡£
Synchronized:Õâ¸öÐÞÊδʿÉÒÔÓÃÀ´ÐÞÊη½·¨ºÍ´úÂë¿é
Object obj;
Obj.setValue(123);
SynchronizedÓÃÀ´ÐÞÊη½·¨£¬±íʾµ±Ä³¸öÏ̵߳÷ÓÃÕâ¸ö·½·¨Ö®ºó£¬ÆäËûµÄʼþ²»ÄÜÔÙµ÷ÓÃÕâ¸ö·½·¨¡£Ö»ÓÐÄõ½obj±ê¼ÇµÄÏ̲߳ÅÄܹ»Ö´ÐдúÂë¿é¡£
×¢Ò⣺SynchronizedÒ»¶¨Ê¹ÓÃÔÚÒ»¸ö·½·¨ÖС£
Ëø±ê¼ÇÊǶÔÏóµÄ¸ÅÄ¼ÓËøÊǶԶÔÏó¼ÓËø£¬Ä¿µÄÊÇÔÚÏß³ÌÖ®¼ä½øÐÐе÷¡£
µ±ÓÃSynchronizedÐÞÊÎij¸ö·½·¨µÄʱºò£¬±íʾ¸Ã·½·¨¶¼¶Ôµ±Ç°¶ÔÏó¼ÓËø¡£
¸ø·½·¨¼ÓSynchronizedºÍÓÃSynchronizedÐÞÊζÔÏóµÄЧ¹ûÊÇÒ»Öµġ£
Ò»¸öÏ߳̿ÉÒÔÄõ½¶à¸öËø±ê¼Ç£¬Ò»¸ö¶ÔÏó×î¶àÖ»Äܽ«monitor¸øÒ»¸öÏ̡߳£
SynchronizedÊÇÒÔÎþÉü³ÌÐòÔËÐеÄЧÂÊΪ´ú¼ÛµÄ£¬Òò´ËÓ¦¸Ã¾¡Á¿¿ØÖÆ»¥³â´úÂë¿éµÄ·¶Î§¡£
·½·¨µÄSynchronizedÌØÐÔ±¾Éí²»»á±»¼Ì³Ð£¬Ö»Äܸ²¸Ç¡£
Ïß³ÌÒòΪδÄõ½Ëø±ê¼Ç¶ø·¢ÉúµÄ×èÈû²»Í¬ÓÚÇ°ÃæÎå¸ö»ù±¾×´Ì¬ÖеÄ×èÈû£¬³ÆΪËø³Ø¡£
ÿ¸ö¶ÔÏó¶¼ÓÐ×Ô¼ºµÄÒ»¸öËø³ØµÄ¿Õ¼ä£¬ÓÃÓÚ·ÅÖõȴýÔËÐеÄÏ̡߳£
ÕâЩÏß³ÌÖÐÄĸöÏß³ÌÄõ½Ëø±ê¼ÇÓÉϵͳ¾ö¶¨¡£
Ëø±ê¼ÇÈç¹û¹ý¶à£¬¾Í»á³öÏÖÏ̵߳ȴýÆäËûÏß³ÌÊÍ·ÅËø±ê¼Ç£¬¶øÓÖ¶¼²»ÊÍ·Å×Ô¼ºµÄËø±ê¼Ç¹©ÆäËûÏß³ÌÔËÐеÄ×´¿ö¡£¾ÍÊÇËÀËø¡£
ËÀËøµÄÎÊÌâͨ¹ýÏ̼߳äµÄͨÐŵķ½Ê½½øÐнâ¾ö¡£
Ï̼߳äͨÐÅ»úÖÆʵ¼ÊÉÏÒ²¾ÍÊÇе÷»úÖÆ¡£
Ï̼߳äͨÐÅʹÓõĿռä³Æ֮Ϊ¶ÔÏóµÄµÈ´ý¶ÓÁУ¬Ôò¸ö¶ÓÁÐÒ²ÊÇÊôÓÚ¶ÔÏóµÄ¿Õ¼äµÄ¡£
ObjectÀàÖÐÓÖÒ»¸öwait()£¬ÔÚÔËÐÐ״̬ÖУ¬Ï̵߳÷ÓÃwait()£¬´Ëʱ±íʾ×ÅÏ߳̽«ÊÍ·Å×Ô¼ºËùÓеÄËø±ê¼Ç£¬Í¬Ê±½øÈëÕâ¸ö¶ÔÏóµÄµÈ´ý¶ÓÁС£
µÈ´ý¶ÓÁеÄ״̬ҲÊÇ×èÈû״̬£¬Ö»²»¹ýÏß³ÌÊÍ·Å×Ô¼ºµÄËø±ê¼Ç¡£
Notify()
Èç¹ûÒ»¸öÏ̵߳÷ÓöÔÏóµÄnotify()£¬¾ÍÊÇ֪ͨ¶ÔÏóµÈ´ý¶ÓÁеÄÒ»¸öÏ̳߳öÁС£½øÈëËø³Ø¡£Èç¹ûʹÓÃnotifyall()Ôò֪ͨµÈ´ý¶ÓÁÐÖÐËùÓеÄÏ̳߳öÁС£
×¢Ò⣺ֻÄܶԼÓËøµÄ×ÊÔ´½øÐÐwait()ºÍnotify()¡£
ÊÍ·ÅËø±ê¼ÇÖ»ÓÐÔÚSynchronized´úÂë½áÊø»òÕßµ÷ÓÃwait()¡£
×¢ÒâËø±ê¼ÇÊÇ×Ô¼º²»»á×Ô¶¯ÊÍ·Å£¬±ØÐëÓÐ֪ͨ¡£
×¢ÒâÔÚ³ÌÐòÖÐÅж¨Ò»¸öÌõ¼þÊÇ·ñ³ÉÁ¢Ê±Òª×¢ÒâʹÓÃWHILEÒª±ÈʹÓÃIFÒªÑÏÃÜ¡£
WHILE»á·ÅÖóÌÐòÈĹýÅжÏÌõ¼þ¶øÔì³ÉÔ½½ç¡£
²¹³ä֪ʶ£º
suspend£¨£©Êǽ«Ò»¸öÔËÐÐʱ״̬½øÈë×èÈû״̬£¨×¢Òâ²»ÊÍ·ÅËø±ê¼Ç£©¡£»Ö¸´×´Ì¬µÄʱºòÓÃresume()¡£Stop()Ö¸ÊÍ·ÅÈ«²¿¡£
Õ⼸¸ö·½·¨É϶¼ÓÐDeprecated±êÖ¾£¬ËµÃ÷Õâ¸ö·½·¨²»ÍƼöʹÓá£
Ò»°ãÀ´Ëµ£¬Ö÷·½·¨main()½áÊøµÄʱºòÏ߳̽áÊø£¬¿ÉÊÇÒ²¿ÉÄܳöÏÖÐèÒªÖжÏÏ̵߳ÄÇé¿ö¡£¶ÔÓÚ¶àÏß³ÌÒ»°ãÿ¸öÏ̶߳¼ÊÇÒ»¸öÑ»·£¬Èç¹ûÖжÏÏß³ÌÎÒÃDZØÐëÏë°ì·¨Ê¹ÆäÍ˳ö¡£
Èç¹ûÖ÷·½·¨main()Ïë½áÊø×èÈûÖеÄỊ̈߳¨±ÈÈçsleep»òwait£©
ÄÇôÎÒÃÇ¿ÉÒÔ´ÓÆäËû½ø³Ì¶ÔÏ̶߳ÔÏóµ÷ÓÃinterrupt()¡£ÓÃÓÚ¶Ô×èÈû£¨»òËø³Ø£©»áÅ׳öÀýÍâInterrupted Exception¡£
Õâ¸öÀýÍâ»áʹÏß³ÌÖжϲ¢Ö´ÐÐcatchÖдúÂë¡£
¶àÏß³ÌÖеÄÖص㣺ʵÏÖ¶àÏ̵߳ÄÁ½ÖÖ·½Ê½£¬Synchronized,ÒÔ¼°Éú²úÕߺÍÏû·ÑÕßÎÊÌ⣨ProducerConsumer.javaÎļþ£©¡£
Á·Ï°£º
¢Ù ´æ³µÎ»µÄÍ£¿ª³µµÄ´ÎÐòÊä³öÎÊÌ⣻
¢Ú дÁ½¸öỊ̈߳¬Ò»¸öÏ̴߳òÓ¡1-52£¬ÁíÒ»¸öÏ̴߳ðÓ¦×ÖĸA-Z¡£´òӡ˳ÐòΪ12A34B56C……5152Z¡£Í¨¹ýʹÓÃÏß³ÌÖ®¼äµÄͨÐÅе÷¹Øϵ¡£
×¢£º·Ö±ð¸øÁ½¸ö¶ÔÏó¹¹ÔìÒ»¸ö¶ÔÏóo£¬Êý×Öÿ´òÓ¡Á½¸ö»ò×Öĸÿ´òÓ¡Ò»¸ö¾ÍÖ´ÐÐo.wait()¡£ÔÚo.wait()֮ǰ²»ÒªÍüÁËдo.notify()¡£
²¹³ä˵Ã÷£ºÍ¨¹ýSynchronized£¬¿ÉÖªVector½ÏArrayList·½·¨µÄÇø±ð¾ÍÊÇVectorËùÓеķ½·¨¶¼ÓÐSynchronized¡£ËùÒÔVector¸üΪ°²È«¡£
ͬÑù£ºHashtable½ÏHashMapÒ²ÊÇÈç´Ë¡£
12.08
Module 10£ºI/OÁ÷£¨javaÈçºÎʵÏÖÓëÍâ½çÊý¾ÝµÄ½»Á÷£©
Input/Output£ºÖ¸¿çÔ½³öÁËJVMµÄ±ß½ç£¬ÓëÍâ½çÊý¾ÝµÄÔ´Í·»òÕßÄ¿±êÊý¾ÝÔ´½øÐÐÊý¾Ý½»»»¡£
Êä³ö
ÊäÈë
×¢Ò⣺ÊäÈë/Êä³öÊÇÕë¶ÔJVM¶øÑÔ¡£
FileÀࣨjava.io.*£©¿É±íʾһ¸öÎļþ£¬Ò²ÓпÉÄÜÊÇÒ»¸öĿ¼£¨ÔÚJAVAÖÐÎļþºÍĿ¼¶¼ÊôÓÚÕâ¸öÀàÖУ¬¶øÇÒÇø·Ö²»ÊǷdz£µÄÃ÷ÏÔ£©¡£
Java.ioϵķ½·¨ÊǶԴÅÅÌÉϵÄÎļþ½øÐдÅÅ̲Ù×÷£¬µ«ÊÇÎÞ·¨¶ÁÈ¡ÎļþµÄÄÚÈÝ¡£
×¢Ò⣺´´½¨Ò»¸öÎļþ¶ÔÏóºÍ´´½¨Ò»¸öÎļþÔÚJAVAÖÐÊÇÁ½¸ö²»Í¬µÄ¸ÅÄǰÕßÊÇÔÚÐéÄâ»úÖд´½¨ÁËÒ»¸öÎļþ£¬µ«È´²¢Ã»Óн«ËüÕæÕýµØ´´½¨µ½OSµÄÎļþϵͳÖУ¬Ëæ×ÅÐéÄâ»úµÄ¹Ø±Õ£¬Õâ¸ö´´½¨µÄ¶ÔÏóÒ²¾ÍÏûʧÁË¡£¶ø´´½¨Ò»¸öÎļþ²ÅÊÇÔÚϵͳÖÐÕæÕýµØ½¨Á¢Ò»¸öÎļþ¡£
ÀýÈ磺File f=new File(“11.txt”);//´´½¨Ò»¸öÃûΪ11.txtµÄÎļþ¶ÔÏó
f.CreateNewFile(); //ÕæÕýµØ´´½¨Îļþ
f.CreateMkdir()£º´´½¨Ä¿Â¼
f.delete()£»É¾³ýÎļþ
f.deleteOnExit();ÔÚ½ø³ÌÍ˳öµÄʱºòɾ³ýÎļþ£¬ÕâÑùµÄ²Ù×÷ͨ³£ÓÃÔÚÁÙʱÎļþµÄɾ³ý¡£
¶ÔÓÚÃüÁFile f2=new file(“d:\abc\789\1.txt”)
Õâ¸öÃüÁî²»¾ß±¸¿çƽ̨ÐÔ£¬ÒòΪ²»Í¬µÄOSµÄÎļþϵͳºÜ²»Ïàͬ¡£
Èç¹ûÏëÒª¿çƽ̨£¬ÔÚfileÀàÏÂÓÐsepartor()£¬·µ»ØËø³öƽ̨µÄÎļþ·Ö¸ô·û¡£
File.fdir=new File(File.separator);
String str=”abc”+File.separator+”789”;
ʹÓÃÎļþϵķ½·¨µÄʱºòÒ»¶¨×¢ÒâÊÇ·ñ¾ß±¸¿çƽ̨ÐÔ¡£
List()£ºÏÔʾÎļþµÄÃû£¨Ïà¶Ô·¾¶£©
ListFiles()£º·µ»ØFilesÀàÐÍÊý×飬¿ÉÒÔÓÃgetName()À´·ÃÎʵ½ÎļþÃû¡£
ʹÓÃisDirectory()ºÍisFile()À´ÅжϾ¿¾¹ÊÇÎļþ»¹ÊÇĿ¼¡£
Á·Ï°£º
дһ¸öjavaTest³ÌÐò£¬ÁгöËùÓÐĿ¼ÏµÄ*.javaÎļþ£¬°Ñ×ÓĿ¼ÏµÄJAVAÎļþÒ²´òÓ¡³öÀ´¡£
ʹÓÃI/OÁ÷·ÃÎÊfileÖеÄÄÚÈÝ¡£
JVMÓëÍâ½çͨ¹ýÊý¾ÝͨµÀ½øÐÐÊý¾Ý½»»»¡£
·ÖÀࣺ
°´Á÷·ÖΪÊäÈëÁ÷ºÍÊä³öÁ÷£»
°´´«Ê䵥λ·ÖΪ×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷£»
»¹¿ÉÒÔ·ÖΪ½ÚµãÁ÷ºÍ¹ýÂËÁ÷¡£
½ÚµãÁ÷£º¸ºÔðÊý¾ÝÔ´ºÍ³ÌÐòÖ®¼ä½¨Á¢Á¬½Ó£»
¹ýÂËÁ÷£ºÓÃÓÚ¸ø½ÚµãÔö¼Ó¹¦ÄÜ¡£
¹ýÂËÁ÷µÄ¹¹Ô췽ʽÊÇÒÔÆäËûÁ÷λ²ÎÊý¹¹Ô죨ÕâÑùµÄÉè¼Æģʽ³ÆΪװÊÎģʽ£©¡£
×Ö½ÚÊäÈëÁ÷£ºio°üÖеÄInputStreamΪËùÓÐ×Ö½ÚÊäÈëÁ÷µÄ¸¸Àà¡£
Int read();¶ÁÈëÒ»¸ö×Ö½Ú£¨Ã¿´ÎÒ»¸ö£©£»
¿ÉÏÈʹÓÃnew byte[]=Êý×飬µ÷ÓÃread(byte[] b)
read (byte[])·µ»ØÖµ¿ÉÒÔ±íʾÓÐЧÊý£»read (byte[])·µ»ØֵΪ-1±íʾ½áÊø¡£
×Ö½ÚÊä³öÁ÷£ºio°üÖеÄOutputStreamλËùÓÐ×Ö½ÚÊäÈëÁ÷µÄ¸¸Àà¡£
WriteºÍÊäÈëÁ÷ÖеÄreadÏà¶ÔÓ¦¡£
ÔÚÁ÷ÖÐclose()·½·¨ÓɳÌÐòÔ±¿ØÖÆ¡£ÒòΪÊäÈëÊä³öÁ÷ÒѾ³¬Ô½ÁËVMµÄ±ß½ç£¬ËùÒÔÓÐʱ¿ÉÄÜÎÞ·¨»ØÊÕ×ÊÔ´¡£
ÔÔò£º·²ÊÇ¿ç³öÐéÄâ»ú±ß½çµÄ×ÊÔ´¶¼ÒªÇó³ÌÐòÔ±×Ô¼º¹Ø±Õ£¬²»ÒªÖ¸ÍûÀ¬»ø»ØÊÕ¡£
ÒÔStream½áβµÄÀ඼ÊÇ×Ö½ÚÁ÷¡£
Èç¹û¹¹ÔìFileOutputStreamµÄͬʱ´ÅÅ̻ὨÁ¢Ò»¸öÎļþ¡£Èç¹û´´½¨µÄÎļþÓë´ÅÅÌÉÏÒÑÓеÄÎļþÃûÖØÃû£¬¾Í»á·¢Éú¸²¸Ç¡£
ÓÃFileOutputStreamÖеÄboolean£¬ÔòÊÓ£¬Ìí¼ÓÇé¿ö£¬½«Êý¾Ý¸²¸ÇÖØÃûÎļþ»¹Êǽ«ÊäÈëÄÚÈÝ·ÅÔÚÎļþµÄºóÃæ¡££¨±àд³ÌÐòÑéÖ¤£©
DataOutputStream:ÊäÈëÊý¾ÝµÄÀàÐÍ¡£
ÒòΪÿÖÐÊý¾ÝÀàÐ͵IJ»Í¬£¬ËùÒÔ¿ÉÄÜ»áÊä³ö´íÎó¡£
ËùÓжÔÓÚ£ºDataOutputStream
DataInputStream
Á½ÕßµÄÊäÈë˳Ðò±ØÐëÒ»Ö¡£
¹ýÂËÁ÷£º
bufferedOutputStream
bufferedInputStream
ÓÃÓÚ¸ø½ÚµãÁ÷Ôö¼ÓÒ»¸ö»º³åµÄ¹¦ÄÜ¡£
ÔÚVMµÄÄÚ²¿½¨Á¢Ò»¸ö»º³åÇø£¬Êý¾ÝÏÈдÈ뻺³åÇø£¬µÈµ½»º³åÇøµÄÊý¾ÝÂúÁËÖ®ºóÔÙÒ»´ÎÐÔд³ö£¬Ð§Âʺܸߡ£
ʹÓôø»º³åÇøµÄÊäÈëÊä³öÁ÷µÄËٶȻá´ó·ùÌá¸ß£¬»º³åÇøÔ½´ó£¬Ð§ÂÊÔ½¸ß¡££¨ÕâÊǵäÐ͵ÄÎþÉü¿Õ¼ä»»Ê±¼ä£©
ÇмǣºÊ¹Óôø»º³åÇøµÄÁ÷£¬Èç¹ûÊý¾ÝÊý¾ÝÊäÈëÍê±Ï£¬Ê¹ÓÃflush·½·¨½«»º³åÇøÖеÄÄÚÈÝÒ»´ÎÐÔдÈëµ½ÍⲿÊý¾ÝÔ´¡£ÓÃclose()Ò²¿ÉÒÔ´ïµ½ÏàͬµÄЧ¹û£¬ÒòΪÿ´Îclose¶¼»áʹÓÃflush¡£Ò»¶¨Òª×¢Òâ¹Ø±ÕÍⲿµÄ¹ýÂËÁ÷¡£
£¨·ÇÖص㣩¹ÜµÀÁ÷£ºÒ²ÊÇÒ»ÖÖ½ÚµãÁ÷£¬ÓÃÓÚ¸øÁ½¸öÏ߳̽»»»Êý¾Ý¡£
PipedOutputStream
PipedInputStream
Êä³öÁ÷£ºconnect(ÊäÈëÁ÷)
RondomAccessFileÀàÔÊÐíËæ»ú·ÃÎÊÎļþ
GetFilepoint()¿ÉÒÔÖªµÀÎļþÖеÄÖ¸ÕëλÖã¬Ê¹ÓÃseek()¶¨Î»¡£
Mode(“r”:Ëæ»ú¶Á£»”w”£ºËæ»úд£»”rw”£ºËæ»ú¶Áд)
Á·Ï°£ºÐ´Ò»¸öÀàA£¬JAVA A file1 file2
file1ÒªÇóÊÇϵͳÖÐÒѾ´æÔÚµÄÎļþ¡£File2ÊÇ»¹Ã»ÓдæÔÚµÄÎļþ¡£
Ö´ÐÐÍêÕâ¸öÃüÁÄÇôfile2¾ÍÊÇfile1ÖеÄÄÚÈÝ¡£
×Ö·ûÁ÷£ºreaderwriteÖ»ÄÜÊä´¿Îı¾Îļþ¡£
FileReaderÀࣺ×Ö·ûÎļþµÄÊä³ö
×Ö½ÚÁ÷Óë×Ö·ûÁ÷µÄÇø±ð£º
×Ö½ÚÁ÷µÄ×Ö·û±àÂ룺
×Ö·û±àÂë°Ñ×Ö·ûת»»³ÉÊý×Ö´æ´¢µ½¼ÆËã»úÖУ¬°´ASCii½«×ÖĸӳÉäΪÕûÊý¡£
°ÑÊý×Ö´Ó¼ÆËã»úת»»³ÉÏàÓ¦µÄ×Ö·ûµÄ¹ý³Ì³ÆΪ½âÂë¡£
±àÂ뷽ʽµÄ·ÖÀࣺ
ASCII£¨Êý×Ö¡¢Ó¢ÎÄ£©:1¸ö×Ö·ûÕ¼Ò»¸ö×Ö½Ú£¨ËùÓеıàÂ뼯¶¼¼æÈÝASCII£©
ISO8859-1£¨Å·ÖÞ£©£º1¸ö×Ö·ûÕ¼Ò»¸ö×Ö½Ú
GB-2312/GBK£º1¸ö×Ö·ûÕ¼Á½¸ö×Ö½Ú
Unicode: 1¸ö×Ö·ûÕ¼Á½¸ö×Ö½Ú£¨ÍøÂç´«ÊäËÙ¶ÈÂý£©
UTF-8£º±ä³¤×Ö½Ú£¬¶ÔÓÚÓ¢ÎÄÒ»¸ö×Ö½Ú£¬¶ÔÓÚºº×ÖÁ½¸ö»òÈý¸ö×Ö½Ú¡£
ÔÔò£º±£Ö¤±à½âÂ뷽ʽµÄͳһ£¬²ÅÄܲ»ÖÁÓÚ³öÏÖ´íÎó¡£
Io°üµÄInputStreamread³ÆΪ´Ó×Ö½ÚÁ÷µ½×Ö·ûÁ÷µÄÇÅת»»Àà¡£Õâ¸öÀà¿ÉÒÔÉ趨×Ö·ûת»»·½Ê½¡£
OutputStreamred:×Ö·ûµ½×Ö½Ú
BufferreadÓÐreadline()ʹµÃ×Ö·ûÊäÈë¸ü¼Ó·½±ã¡£
ÔÚI/OÁ÷ÖУ¬ËùÓÐÊäÈë·½·¨¶¼ÊÇ×èÈû·½·¨¡£
Bufferwrite¸øÊä³ö×Ö·û¼Ó»º³å£¬ÒòΪËüµÄ·½·¨ºÜÉÙ£¬ËùÒÔʹÓø¸Ààprintwrite£¬Ëü¿ÉÒÔʹÓÃ×Ö½ÚÁ÷¶ÔÏ󣬶øÇÒ·½·¨ºÜ¶à¡£
Á·Ï°£º×öÒ»¸ö¼Çʱ¾
swing/JfileChoose: getSelect file()
InputStreeamReader£º°Ñ×Ö½Ú±äΪ×Ö·û
JAVAÖжÔ×Ö·û´®³¤ÎÞÏÞÖÆ bufferedReader£¨ir£©
12.09
class ObjectOutputStreamÒ²ÊǹýÂËÁ÷£¬Ê¹½ÚµãÁ÷Ö±½Ó»ñµÃÊä³ö¶ÔÏó¡£
×îÓÐÓõķ½·¨£ºWriteObject(Object b)
ÓÃÁ÷´«Êä¶ÔÏó³ÆΪ¶ÔÏóµÄÐòÁл¯£¬µ«²¢²»Ê¹ËùÓеĶÔÏ󶼿ÉÒÔ½øÐÐÐòÁл¯µÄ¡£Ö»ÓÐÔÚʵÏÖÀàʱ±ØÐëʵÏÖÒ»¸ö½Ó¿Ú£ºIO°üϵÄSerializable(¿ÉÐòÁл¯µÄ)¡£´Ë½Ó¿ÚûÓÐÈκεķ½·¨£¬ÕâÑùµÄ½Ó¿Ú³ÆΪ±ê¼Ç½Ó¿Ú¡£
Class Student implements Serializable
°Ñ¶ÔÏóͨ¹ýÁ÷ÐòÁл¯µ½Ä³Ò»¸ö³Ö¾ÃÐÔ½éÖʳÆΪ¶ÔÏóµÄ¿É³Ö¾Ã»¯¡£
Hibernate¾ÍÊÇÑо¿¶ÔÏóµÄ¿É³Ö¾Ã»¯¡£
ObuectInputStream in =new ObjectInputStream;
Object o1=in.readObuect();
Student s1=(Student)o1£»
×¢Ò⣺ÒòΪo1ÊÇÒ»¸ö¶ÔÏó£¬ÒòΪÐèÒª¶ÔÆä½øÐб£´æ¡£
TransientÓÃÀ´ÐÞÊÎÊôÐÔ¡£
Transient int num;
±íʾµ±ÎÒÃǶÔÊôÐÔÐòÁл¯Ê±ºöÂÔÕâ¸öÊôÐÔ£¨¼´ºöÂÔ²»Ê¹Ö®³Ö¾Ã»¯£©¡£
ËùÓÐÊôÐÔ±ØÐ붼ÊÇ¿ÉÐòÁл¯µÄ£¬ÌرðÊǵ±ÓÐЩÊôÐÔ±¾ÉíÒ²ÊǶÔÏóµÄʱºò£¬ÒªÓÈÆä×¢ÒâÕâÒ»µã¡£
ÅжÏÊÇ·ñÒ»¸öÊôÐÔ»ò¶ÔÏó¿ÉÐòÁл¯£ºSerialver¡£
Serialver TestObject£¨TestObject±ØÐëΪÒѾ±àÒ룩
Ö´Ðнá¹û£ºÈç¹û²»¿ÉÐòÁл¯£»Ôò³öÏÖ²»¿ÉÐòÁл¯µÄÌáʾ¡£Èç¹û¿ÉÒÔÐòÁл¯£¬ÄÇô¾Í»á³öÏÖÐòÁл¯µÄID£ºUID¡£
java.until.*ÓÐ
StringTokenizer£¨²ÎÊý1£¬²ÎÊý2£©°´Ä³ÖÖ·ûºÅ¸ô¿ªÎļþ
StringTokenizer(s,”:”) ÓÓ£º”¸ô¿ª×Ö·û£¬sΪ¶ÔÏó¡£
Á·Ï°£º½«Ò»¸öÀàÐòÁл¯µ½Îļþ£¬È»ºó¶Á³ö¡£ÏÂÎ磺
1¡¢ ÍøÂç»ù´¡ÖªÊ¶
2¡¢ JAVAÍøÂç±à³Ì
ÍøÂçÓë·Ö²¼Ê½¼¯ÈºÏµÍ³µÄÇø±ð£ºÃ¿¸ö½Úµã¶¼ÊÇһ̨¼ÆËã»ú£¬¶ø²»ÊǸ÷ÖÖ¼ÆËã»úÄÚ²¿µÄ¹¦ÄÜÉ豸¡£
Ip:¾ßÓÐÈ«ÇòΨһÐÔ£¬Ïà¶ÔÓÚinternet£¬IPΪÂß¼µØÖ·¡£
¶Ë¿Ú(port)£ºÒ»Ì¨PCÖпÉÒÔÓÐ65536¸ö¶Ë¿Ú£¬½ø³Ìͨ¹ý¶Ë¿Ú½»»»Êý¾Ý¡£Á¬ÏßµÄʱºòÐèÒªÊäÈëIPÒ²ÐèÒªÊäÈë¶Ë¿ÚÐÅÏ¢¡£
¼ÆËã»úͨÐÅʵ¼ÊÉϵÄÖ÷»úÖ®¼äµÄ½ø³ÌͨÐÅ£¬½ø³ÌµÄͨОÍÐèÒªÔڶ˿ڽøÐÐÁªÏµ¡£
192.168.0.23:21
ÐÒ飺ΪÁ˽øÐÐÍøÂçÖеÄÊý¾Ý½»»»£¨Í¨ÐÅ£©¶ø½¨Á¢µÄ¹æÔò¡¢±ê×¼»òÔ¼¶¨¡£
²»Í¬²ãµÄÐÒéÊDz»Í¬µÄ¡£
ÍøÂç²ã£ºÑ°Ö·¡¢Â·ÓÉ£¨Ö¸ÈçºÎµ½´ïµØÖ·µÄ¹ý³Ì£©
´«Êä²ã£º¶Ë¿ÚÁ¬½Ó
TCPÄ£ÐÍ£ºÓ¦Óòã/´«Êä²ã/ÍøÂç²ã/ÍøÂç½Ó¿Ú
¶Ë¿ÚÊÇÒ»ÖÖ³éÏóµÄÈí¼þ½á¹¹£¬ÓëÐÒéÏà¹Ø£ºTCP23¶Ë¿ÚºÍUDT23¶Ë¿ÚΪÁ½¸ö²»Í¬µÄ¸ÅÄî¡£
¶Ë¿ÚÓ¦¸ÃÓÃ1024ÒÔÉϵĶ˿ڣ¬ÒÔϵĶ˿ڶ¼ÒѾÉ趨¹¦ÄÜ¡£
Ì×½Ó×Ö(socket)µÄÒýÈ룺
Ip+Port=Socket£¨ÕâÊǸö¶ÔÏóµÄ¸ÅÄî¡££©
SocketΪ´«Êä²ã¸ÅÄ¶øJSPÊǶÔÓ¦Óòã±à³Ì¡£Àý£º
java.net.*;
(Server¶Ë¶¨Òå˳Ðò)
ServerSocket(intport)
Socket.accept()£»//×èÈû·½·¨£¬µ±¿Í»§¶Ë·¢³öÇëÇóÊǾͻָ´
Èç¹û¿Í»§¶ËÊÕµ½ÇëÇó£º
ÔòSocket SI=ss.accept()£»
×¢Òâ¿Í»§¶ËºÍ·þÎñÆ÷µÄSocketΪÁ½¸ö²»Í¬µÄsocket¡£
SocketµÄÁ½¸ö·½·¨£º
getInputStream()£º¿Í»§¶ËÓÃ
getOutputStream() ·þÎñÆ÷¶ËÓÃ
ʹÓÃÍê±ÏºóÇмÇSocket.close()£¬Á½¸öSocket¶¼¹Ø£¬¶øÇÒ²»ÓùØÄÚ²¿µÄÁ÷¡£
ÔÚclient¶Ë£¬Socket s=new Socket(“127.0.0.1”,8000);
127.0.0.1Ϊһ¸öĬÈϱ¾»úµÄµØÖ·¡£
Á·Ï°£º
1¡¢ ¿Í»§¶ËÏò·þÎñÆ÷·¢³öÒ»¸ö×Ö·û´®£¬·þÎñÆ÷ת»»³É´óд´«»Ø¿Í»§¶Ë¡£
´óдµÄº¯Êý£ºString.toUpperCase()
2¡¢ ·þÎñÆ÷¸æËß¿Í»§¶Ë£º“×Ô¿ª»úÒÔÀ´ÄãÊǵÚn ¸öÓû§”¡£
12.12
UDP±à³Ì£º
DatagramSocket£¨ÓʵÝÔ±£©£º¶ÔÓ¦Êý¾Ý±¨µÄSocket¸ÅÄ²»ÐèÒª´´½¨Á½¸ösocket£¬²»¿ÉʹÓÃÊäÈëÊä³öÁ÷¡£
DatagramPacket£¨Ðżþ£©£ºÊý¾Ý°ü£¬ÊÇUDPϽøÐд«ÊäÊý¾ÝµÄµ¥Î»£¬Êý¾Ý´æ·ÅÔÚ×Ö½ÚÊý×éÖС£
UDPÒ²ÐèÒªÏÖÓÐServer¶Ë£¬È»ºóÔÙÓÐClient¶Ë¡£
Á½¶Ë¶¼ÊÇDatagramPacket£¨Ï൱Óڵ绰µÄ¸ÅÄ£¬ÐèÒªNEWÁ½¸öDatagramPacket¡£
InetAddress:ÍøÖ·
ÕâÖÖÐÅÏ¢´«Ê䷽ʽÏ൱ÓÚ´«Õ棬ÐÅÏ¢´ò°ü£¬ÔÚ½ÓÊܶË×¼±¸Ö½¡£
ģʽ£º
·¢ËͶˣºServer:
DatagramPacket inDataPacket=new DatagramPacket ((msg,msg.length); InetAdress.getByName(ip),port);
½ÓÊնˣº
clientAddress=inDataPack.getAddress();//È¡µÃµØÖ·
clientPort=inDataPack.getPort();//È¡µÃ¶Ë¿ÚºÅ
datagramSocket.send; //Server
datagramSocket.accept; //Client
URL:ÔÚÓ¦ÓòãµÄ±à³Ì
×¢Òâ±È½Ï£º
http://Localhost:8080/directory //²éÕÒÍøÂç·þÎñÆ÷µÄĿ¼
file://directory //²éÕÒ±¾µØµÄÎļþϵͳ
javaµÄ¿ª·¢Ö÷ÒªÒÔhttpΪ»ù´¡¡£
·´É䣺Ö÷ÒªÓÃÓÚ¹¤¾ßºÍ¿ò¼ÜµÄ¿ª·¢¡£
·´ÉäÊǶÔÓÚÀàµÄÔÙ³éÏó£»Í¨¹ý×Ö·û´®À´³éÏóÀà¡£
JAVAÀàµÄÔËÐУºclassLoader:¼ÓÔص½ÐéÄâ»ú£¨vm£©
VmÖÐÖ»ÄÜ´æ´¢¶ÔÏ󣨶¯Ì¬ÔËÐÐʱµÄ¸ÅÄ£¬.classÎļþ¼ÓÔص½VMÉϾͳÉΪһ¸ö¶ÔÏó£¬Í¬Ê±³õʼ¾²Ì¬³ÉÔ±¼°¾²Ì¬´úÂ루ִֻÐÐÒ»´Î£©¡£
Lang°üÏÂÓÐÒ»¸öÀàΪClass£ºÔÚ·´ÉäÖÐʹÓᣴËÀàÖеÄÿ¸ö¶ÔÏóΪVMÖеÄÀà¶ÔÏó£¬Ã¿¸öÀ඼¶ÔÓ¦ÀàÀàµÄÒ»¸ö¶ÔÏó£¨class.class£©¡£
Àý£º¶ÔÓÚÒ»¸öObjectÀ࣬ÓÃgetClass()µÃµ½ÆäÀàµÄ¶ÔÏ󣬻ñµÃÀàµÄ¶ÔÏó¾ÍÏ൱ÓÚ»ñµÃÀàµÄÐÅÏ¢£¬¿ÉÒÔµ÷ÓÃÆäϵÄËùÓз½·¨£¬°üÀ¨ÀàµÄ˽Óз½·¨¡£
×¢Ò⣺ÔÚ·´ÉäÖÐûÓмòµ¥Êý¾ÝÀàÐÍ£¬ËùÓеıàÒëʱÀàÐͶ¼ÊǶÔÏó¡£
·´Éä°Ñ±àÒëʱӦ¸Ã½â¾öµÄÎÊÌâÁôµ½ÁËÔËÐÐʱ¡£