JavaÖеÄinstanceof¹Ø¼ü×Ö
instanceofÊÇJavaµÄÒ»¸ö¶þÔª²Ù×÷·û£¬ºÍ==£¬>£¬<ÊÇͬһÀà¶«¶«¡£ÓÉÓÚËüÊÇÓÉ×Öĸ×é³ÉµÄ£¬ËùÒÔÒ²ÊÇJavaµÄ±£Áô¹Ø¼ü×Ö¡£ËüµÄ×÷ÓÃÊDzâÊÔËü×ó±ßµÄ¶ÔÏóÊÇ·ñÊÇËüÓұߵÄÀàµÄʵÀý£¬·µ»ØbooleanÀàÐ͵ÄÊý¾Ý¡£¾Ù¸öÀý×Ó£º
¡¡¡¡String s = "I AM an Object!";
¡¡¡¡boolean isObject = s instanceof Object;
¡¡¡¡ÎÒÃÇÉùÃ÷ÁËÒ»¸öString¶ÔÏóÒýÓã¬Ö¸ÏòÒ»¸öString¶ÔÏó£¬È»ºóÓÃinstancofÀ´²âÊÔËüËùÖ¸ÏòµÄ¶ÔÏóÊÇ·ñÊÇObjectÀàµÄÒ»¸öʵÀý£¬ÏÔÈ»£¬ÕâÊÇÕæµÄ£¬ËùÒÔ·µ»Øtrue£¬Ò²¾ÍÊÇisObjectµÄֵΪTrue¡£
¡¡¡¡instanceofÓÐһЩÓô¦¡£±ÈÈçÎÒÃÇдÁËÒ»¸ö´¦ÀíÕ˵¥µÄϵͳ£¬ÆäÖÐÓÐÕâÑùÈý¸öÀࣺ
¡¡¡¡public class Bill {//Ê¡ÂÔϸ½Ú}
¡¡¡¡public class PhoneBill extends Bill {//Ê¡ÂÔϸ½Ú}
¡¡¡¡public class GasBill extends Bill {//Ê¡ÂÔϸ½Ú}
¡¡¡¡ÔÚ´¦Àí³ÌÐòÀïÓÐÒ»¸ö·½·¨£¬½ÓÊÜÒ»¸öBillÀàÐ͵ĶÔÏ󣬼ÆËã½ð¶î¡£¼ÙÉèÁ½ÖÖÕ˵¥¼ÆËã·½·¨²»Í¬£¬¶ø´«ÈëµÄBill¶ÔÏó¿ÉÄÜÊÇÁ½ÖÖÖеÄÈκÎÒ»ÖÖ£¬ËùÒÔÒªÓÃinstanceofÀ´Åжϣº
¡¡¡¡public double calculate(Bill bill) {
¡¡¡¡if (bill instanceof PhoneBill) {
¡¡¡¡//¼ÆËãµç»°Õ˵¥
¡¡¡¡}
¡¡¡¡if (bill instanceof GasBill) {
¡¡¡¡//¼ÆËãÈ¼ÆøÕ˵¥
¡¡¡¡}
¡¡¡¡...
¡¡¡¡}
¡¡¡¡ÕâÑù¾Í¿ÉÒÔÓÃÒ»¸ö·½·¨´¦ÀíÁ½ÖÖ×ÓÀà¡£
¡¡¡¡È»¶ø£¬ÕâÖÖ×ö·¨Í¨³£±»ÈÏΪÊÇûÓкúÃÀûÓÃÃæÏò¶ÔÏóÖеĶà̬ÐÔ¡£ÆäʵÉÏÃæµÄ¹¦ÄÜÒªÇóÓ÷½·¨ÖØÔØÍêÈ«¿ÉÒÔʵÏÖ£¬ÕâÊÇÃæÏò¶ÔÏó±ä³ÉÓ¦ÓеÄ×ö·¨£¬±ÜÃâ»Øµ½½á¹¹»¯±à³Ìģʽ¡£Ö»ÒªÌṩÁ½¸öÃû×ֺͷµ»ØÖµ¶¼Ïàͬ£¬½ÓÊܲÎÊýÀàÐͲ»Í¬µÄ·½·¨¾Í¿ÉÒÔÁË£º
¡¡¡¡public double calculate(PhoneBill bill) {
¡¡¡¡//¼ÆËãµç»°Õ˵¥
¡¡¡¡}
¡¡¡¡public double calculate(GasBill bill) {
¡¡¡¡//¼ÆËãÈ¼ÆøÕ˵¥
¡¡¡¡}
¡¡¡¡ËùÒÔ£¬Ê¹ÓÃinstanceofÔÚ¾ø´ó¶àÊýÇé¿öϲ¢²»ÊÇÍÆ¼öµÄ×ö·¨£¬Ó¦µ±ºÃºÃÀûÓöà̬¡£
Ïà¹ØÎĵµ£º
ºÃ¾ÃÁË£¬¶¼ÏëÏòѧϰJAVAµÄÐÂÈËдµã¶«Î÷£¬ÒòΪÎÒʵÔÚ¿´²»ÏÂÈ¥ÁË£¬¿´²»ÏÂÈ¥ºÜ¶àÎóµ¼JAVAѧϰÕߵĹ۵㣬±é¼°ÌìÏ£¡ÍøÂçÈúõĶ«Î÷Á÷ÐУ¬¿ÉÊÇÍùÍùÒ²ÈôíµÄ¶«Î÷³öÏֵĴÎÊý¶àÁ˱äµÄºÃÏñÕýÈ·ÁË£¬ÈýÈ˳ɻ¢£¬Ö¸Â¹ÎªÂíËÆºõÔÚÍøÂçÀï¸ü¼ÓÈÝÒ×·¢Éú£¬ºÃÁË·Ï»°²»Ëµ£¬Çë¿´ÎÒϸϸÏòÄãµÀÀ´¡£
ÃØÃÜÒ»£¬Ñ§Ï°JAVAºÃδ±Ø¿ÉÒÔÕÒµ½JA ......
¶¨Òå°´Öµ´«µÝºÍ°´ÒýÓô«µÝÕâÁ½¸öÊõÓïÊÇÖØÒªµÄ¡£
°´Öµ´«µÝÒâζ×ŵ±½«Ò»¸ö²ÎÊý´«µÝ¸øÒ»¸öº¯Êýʱ£¬º¯Êý½ÓÊÕµÄÊDzÎÊýµÄÒ»¸ö¸±±¾¡£Òò´Ë£¬Èç ¹ûº¯ÊýÐÞ¸ÄÁ˸òÎÊý£¬½ö¸Ä±ä¸±±¾£¬¶øÔʼֵ±£³Ö²»±ä¡£°´ÒýÓô«µÝÒâζ×ŵ±½«Ò»¸ö²ÎÊý´«µÝ¸øÒ»¸öº¯Êýʱ£¬º¯Êý½ÓÊÕµÄÊDzÎÊýµÄÄÚ´æµØÖ·£¬¶ø²»ÊDzÎÊýµÄ¸±±¾¡£Òò ´Ë£¬Èç¹ûº¯ÊýÐÞ¸ÄÁ˸òÎÊý£¬µ÷ ......
ÏÂÒÔjavaΪÀý×Ó˵Ã÷һЩ×Ô¼ºÓöµ½µÄ£º
·ÃÎÊ¿ØÖÆ:
private ˽ÓеÄ
protected Êܱ£»¤µÄ
public ¹«¹²µÄ
Àà¡¢·½·¨ºÍ±äÁ¿ÐÞÊηû
abstract ÉùÃ÷³éÏó
class Àà
extends À©ÔÊ,¼Ì³Ð
final ÖÕ¼«,²»¿É¸Ä±äµÄ
implementsʵÏÖ
interface ½Ó¿Ú
native ±¾µØ
new ÐÂ,´´½¨
static ¾²Ì¬
strictfp Ñϸñ,¾«×¼
synchr ......
ËùÓеijÌÐò¿ª·¢Êֲᶼ°üº¬Á˸÷ÖÖ¹æÔò¡£Ò»Ð©Ï°¹ß×ÔÓɳÌÐòÈËÔ±¿ÉÄܶÔÕâЩ¹æÔòºÜ²»ÊÊÓ¦£¬µ«ÊÇÔÚ¶à¸ö¿ª·¢ÈËÔ±¹²Í¬Ð´×÷µÄÇé¿öÏ£¬ÕâЩ¹æÔòÊDZØÐèµÄ¡£Õâ²»½ö½ö
ÊÇΪÁË¿ª·¢Ð§ÂÊÀ´¿¼ÂÇ£¬¶øÇÒÒ²ÊÇΪÁ˺óÆÚά»¤¿¼ÂÇ¡£
ÃüÃû¹æ·¶
¶¨ÒåÕâ¸ö¹æ·¶µÄÄ¿µÄÊÇÈÃÏîÄ¿ÖÐËùÓеÄÎĵµ¶¼¿´ÆðÀ´ÏñÒ»¸öÈËдµÄ£¬Ôö¼Ó¿É¶ÁÐÔ£¬¼õÉÙÏîÄ¿×éÖ ......