·¢²¼Ê±¼ä : ÐÇÆÚÒ» ÎÄÕµÚ4ÕÂÃæÏò¶ÔÏó£¨Ï£© - ²¹³ä°¸Àý¿Î¼þ¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ
²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ
}
±àÒë´íÎ󣬽á¹ûÈçͼ4-9Ëùʾ¡£
ͼ4-9 ´íÎóÌáʾ
Èý¡¢°¸Àý×ܽá
ÔÚ±¾°¸ÀýÖÐZiÀàÖжԱäÁ¿XÔٴθ³Öµ£¬ÔËÐнá¹û±¨´í¡£ÕâÊÇÒòΪJavaÖб»finalÐÞÊεıäÁ¿Îª³£Á¿£¬ËüÖ»Äܱ»¸³ÖµÒ»´Î£¬Ò²¾ÍÊÇ˵finalÐÞÊεıäÁ¿Ò»µ©±»¸³Öµ£¬ÆäÖµ²»Äܸı䡣Èç¹ûÔٴζԸñäÁ¿½øÐи³Öµ£¬Ôò³ÌÐò»áÔÚ±àÒëʱ±¨´í¡£
°¸Àý4-10 ½Ó¿ÚµÄʵÏÖ Ò»¡¢°¸ÀýÃèÊö
1¡¢ ¿¼ºË֪ʶµã
±à ºÅ£º00104006 Ãû ³Æ£º½Ó¿Ú 2¡¢ Á·Ï°Ä¿±ê
? ÕÆÎÕÈçºÎʵÏÖ½Ó¿Ú
3¡¢ ÐèÇó·ÖÎö
ÓÉÓÚ½Ó¿ÚÖеķ½·¨¶¼ÊdzéÏó·½·¨£¬Òò´Ë²»ÄÜͨ¹ýʵÀý»¯¶ÔÏóµÄ·½Ê½À´µ÷ÓýӿÚÖеķ½·¨¡£´ËʱÐèÒª¶¨ÒåÒ»¸öÀ࣬²¢Ê¹ÓÃimplements¹Ø¼ü×ÖʵÏÖ½Ó¿ÚÖÐËùÓеķ½·¨¡£ÎªÁËÉϳõѧÕßÕÆÎÕÈçºÎʵÏÖ½Ó¿Ú£¬±¾°¸Àý½«Éè¼ÆÒ»¸öÀ࣬ʹÓùؼü×ÖimplementsʵÏÖInter½Ó¿ÚÖеķ½·¨¡£
4¡¢ Éè¼Æ˼·£¨ÊµÏÖÔÀí£©
1£©Éè¼ÆÃûΪInterµÄ½Ó¿Ú£¬½Ó¿ÚÖж¨ÒåÒ»¸ö³õʼֵΪ20µÄnum³£Á¿ºÍmethod()³éÏó·½·¨¡£ 2£©±àдInter½Ó¿ÚµÄʵÏÖÀàInterImpl£¬Ê¹ÓÃimplements¹Ø¼ü×ÖʵÏÖ½Ó¿ÚÖеķ½·¨¡£
3£©±àд²âÊÔÀàExample10£¬²âÊÔÀàÖжԽӿڵÄʵÏÖÀà½øÐÐʵÀý»¯£¬²¢µ÷ÓýӿÚÖеķ½·¨¡£
¶þ¡¢°¸ÀýʵÏÖ
1¡¢±àд½Ó¿ÚInter£¬InterImplÀàʹÓÃimplementsʵÏÖÁ˽ӿڣ¬´úÂëÈçÏ£º
//¶¨ÒåÒ»¸ö½Ó¿Ú interface Inter { }
13
int num = 20; void method();
²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ
// ʹÓÃimplements¹Ø¼ü×ÖʵÏÖ½Ó¿Ú class InterImpl implements Inter { }
void show() { }
public void method() { }
System.out.println(\System.out.println(num);
2¡¢¶¨Òå²âÊÔÀàExample10£¬´úÂëÈçÏ£º
class Example10{ }
public static void main(String[] args) { }
//ͨ¹ýʵÏÖÀàʵÀý»¯
InterImpl ii = new InterImpl(); ii.show(); ii.method();
ÔËÐнá¹ûÈçͼ4-10Ëùʾ¡£
ͼ4-10 ÔËÐнá¹û
Èý¡¢°¸Àý×ܽá
1¡¢½Ó¿ÚʹÓÃinterface¹Ø¼ü×ÖÀ´¶¨Òå¡£
2¡¢½Ó¿ÚûÓй¹Ôì·½·¨£¬½Ó¿ÚÖеıäÁ¿È±Ê¡¶¼ÊÇʹÓÃpublic static finalÐÞÊεģ¬¼´È«¾Ö³£Á¿£¬½Ó¿ÚÖеķ½·¨¶¼ÊÇpublic abstractÐÞÊεģ¬¼´³éÏó·½·¨¡£
3¡¢¶¨ÒåÒ»¸öÀ࣬²¢Ê¹ÓÃimplements¹Ø¼ü×ÖʵÏÖ½Ó¿ÚÖеķ½·¨£¬Ò»¸öÀà¿ÉÒÔʵÏÖ¶à¸ö½Ó¿Ú¡£
4¡¢ÓÉÓÚ½Ó¿ÚÖеķ½·¨¶¼ÊdzéÏó·½·¨£¬Òò´Ë²»ÄÜÖ±½Óͨ¹ýʵÀý»¯¶ÔÏóµÄ·½Ê½À´µ÷ÓýӿÚÖеķ½·¨£¬ÐèÒªÔÚÀàʵÏÖ½Ó¿Úºó½èÖúÀàÀ´¼ä½ÓʵÀý»¯¡£
°¸Àý4-11 ½Ó¿ÚµÄ¼Ì³Ð Ò»¡¢°¸ÀýÃèÊö
1¡¢ ¿¼ºË֪ʶµã
±à ºÅ£º00104007
Ãû ³Æ£º½Ó¿ÚµÄ¼Ì³ÐÓë¶àʵÏÖ
14
²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ
2¡¢ Á·Ï°Ä¿±ê
? ÕÆÎսӿڼ̳еķ½Ê½¼°ÆäÌصã
3¡¢ ÐèÇó·ÖÎö ÔÚ³ÌÐòÖУ¬¿ÉÒÔ¶¨ÒåÒ»¸ö½Ó¿ÚʹÓÃextends¹Ø¼ü×ÖÈ¥¼Ì³ÐÁíÒ»¸ö½Ó¿Ú¡£ÎªÁ˼ÓÉî³õѧÕ߶Խá¹ûµÄÀí½â£¬±¾°¸Àý½«ÑÝʾ½Ó¿ÚÓë½Ó¿Ú¡¢ÀàÓë½Ó¿ÚµÄ¼Ì³ÐºÍʵÏÖ¹Øϵ¡£
4¡¢ Éè¼Æ˼·£¨ÊµÏÖÔÀí£©
1£©Éè¼Æ½Ó¿ÚPhone´ú±í´«Í³ÊÖ»ú£¬ÔÚ½Ó¿ÚÖж¨ÒåreceiveMessages()ºÍcall()³éÏó·½·¨¡£
2£©Éè¼Æ½Ó¿ÚSmartPhone´ú±íÖÇÄÜÊÖ»ú£¬ÔÚ½Ó¿ÚÖж¨ÒåfaceTime()·½·¨£¬²¢Ê¹ÓÃextends¹Ø¼ü×ּ̳ÐPhone½Ó¿Ú£¬Ê¹Æä¾ßÓÐPhone½Ó¿ÚµÄËùÓй¦ÄÜ¡£ 3£©Éè¼ÆÀàMIPhone±íʾСÃ×ÊÖ»ú£¬ÀàÖж¨ÒåuseMIUI()·½·¨£¬²¢ÊµÏÖSmartPhone½Ó¿ÚµÄËùÓз½·¨¡£ 4£©±àд²âÊÔÀàExample11£¬²âÊÔÀàÖжÔMIPhone½øÐÐʵÀý»¯£¬²¢·ÃÎÊСÃ×ÊÖ»ú¾ßÓеĸ÷ÖÖ¹¦ÄÜ¡£
¶þ¡¢°¸ÀýʵÏÖ
1¡¢±àд½Ó¿ÚPhoneºÍSmartPhone¡¢ÀàMIPhone¡£´úÂëÈçÏ£º
interface Phone { }
interface SmartPhone extends Phone { }
class MIPhone implements SmartPhone { }
public void receiveMessages() { }
public void call() { }
public void faceTime() { }
public void useMIUI() { }
System.out.println(\ʹÓÃMIUI\System.out.println(\ÊÓƵͨ»°\System.out.println(\ÓïÒôͨ»°\System.out.println(\½ÓÊÕ¶ÌÏ¢\void faceTime();
void receiveMessages(); void call();
2¡¢¶¨Òå²âÊÔÀàExample11£¬´úÂëÈçÏ£º
public class Example11 {
public static void main(String[] args) {
MIPhone miPhone = new MIPhone(); miPhone.receiveMessages(); miPhone.call(); miPhone.faceTime();
15
²©Ñ§¹È¡ª¡ªÈÃIT½Ìѧ¸ü¼òµ¥£¬ÈÃITѧϰ¸üÓÐЧ
}
}
miPhone.useMIUI();
ÔËÐнá¹ûÈçͼ4-11Ëùʾ¡£
ͼ4-11 ÔËÐнá¹û
Èý¡¢°¸Àý×ܽá
½Ó¿ÚÓë½Ó¿ÚÖ®¼äµÄ¼Ì³Ð¹Øϵ£¬¿ÉÒÔÊǵ¥¼Ì³Ð£¬Ò²¿ÉÒÔÊǶà¼Ì³Ð£»Ò»¸ö½Ó¿Ú¿ÉÒÔͨ¹ýextends¹Ø¼ü×ּ̳жà¸ö½Ó¿Ú£¬½Ó¿ÚÖ®¼äÓöººÅ¸ô¿ª¡£
°¸Àý4-12 ObjectÀà Ò»¡¢°¸ÀýÃèÊö
1¡¢ ¿¼ºË֪ʶµã
±à ºÅ£º00104008 Ãû ³Æ£ºObjectÀà
2¡¢ Á·Ï°Ä¿±ê
? Á˽âʲôÊÇObjectÀà
? ÕÆÎÕObjectÀàÖг£Ó÷½·¨µÄʹÓÃ
3¡¢ ÐèÇó·ÖÎö
ÔÚJDKÖÐÌṩÁËÒ»¸öObjectÀ࣬ËüÊÇËùÓÐÀàµÄ¸¸À࣬¼´Ã¿¸öÀ඼ֱ½Ó»ò¼ä½Ó¼Ì³Ð×Ô¸ÃÀà¡£ObjectÀà×ÔÉíµÄequals()·½·¨±È½ÏµÄÊÇÄÚ´æµØÖ·Öµ£¬Ï൱ÓÚ¡°==¡±£¬µ«ÊÇÔÚʵ¼Ê¿ª·¢ÖÐÎÒÃǺÜÉٱȽÏÁ½¸ö¶ÔÏóµÄµØÖ·Öµ£¬Õâʱºò³£³£¾ÍÐèÒª¸ù¾Ý×ÔÉíÐèÇóÀ´ÖØдequals()·½·¨¡£ÎªÁË·½±ã³õѧÕßѧϰObjectÀ࣬±¾°¸Àý½«ÑÝʾÈçºÎÖØдequals()·½·¨¡£
4¡¢ Éè¼Æ˼·£¨ÊµÏÖÔÀí£©
1£©Éè¼ÆStudentÀ࣬¶¨Òåsid±äÁ¿±íʾѧºÅ£¬ÖØдequals()·½·¨£¬ÅжϽøÐбȽϵÄÁ½¸öѧÉú¶ÔÏóѧºÅÊÇ·ñÏàͬ£¬Ïàͬ¼´ÎªÍ¬Ò»¸öѧÉú£¬·ñÔò²»ÊÇ¡£
2£©±àд²âÊÔÀàExample12£¬´´½¨Á½¸öStudentµÄ¶ÔÏóLilyºÍLucy£¬²¢·Ö±ðµ÷ÓÃsetter·½·¨ÎªÑ§ºÅ¸³Öµ£¬×îºóͨ¹ý´òÓ¡Óï¾ä£¬Êä³öÕâÁ½¸ö¶ÔÏóͨ¹ý¡°==¡±ºÍÖØдºóµÄequals()·½·¨±È½ÏºóµÄ½á¹û¡£
¶þ¡¢°¸ÀýʵÏÖ
1¡¢±àдStudentÀ࣬ÖØдequals()·½·¨¡£´úÂëÈçÏ£º
class Student {
Student() {}
16