Javaæå
åååæ两ç§ï¼ä¸ç§æ¯æ å
åï¼ä¸ç§æ¯å å
åã
å¨å½æ°ä¸å®ä¹çä¸äºåºæ¬ç±»åçåéå对象çå¼ç¨åéé½å¨å½æ°çæ å
åä¸åé
ã
å½å¨ä¸æ®µä»£ç åå®ä¹ä¸ä¸ªåéæ¶ï¼Javaå°±å¨æ ä¸ä¸ºè¿ä¸ªåéåé
å
å空é´ï¼å½è¶
è¿åéçä½ç¨ååï¼Javaä¼èªå¨éæ¾æ为该åéæåé
çå
å空é´ï¼è¯¥å
å空é´å¯ä»¥ç«å³è¢«å¦ä½ä»ç¨ã
å å
åç¨æ¥åæ¾ç±newå建ç对象åæ°ç»ã
å¨å ä¸åé
çå
åï¼ç±Javaèææºçèªå¨åå¾åæ¶å¨æ¥ç®¡çã
å¨å ä¸äº§çäºä¸ä¸ªæ°ç»æ对象åï¼è¿å¯ä»¥å¨æ ä¸å®ä¹ä¸ä¸ªç¹æ®çåéï¼è®©æ ä¸è¿ä¸ªåéçåå¼çäºæ°ç»æ对象å¨å å
åä¸çé¦å°åï¼æ ä¸çè¿ä¸ªåéå°±æäºæ°ç»æ对象çå¼ç¨åéã
å¼ç¨åéå°±ç¸å½äºæ¯ä¸ºæ°ç»æ对象起çä¸ä¸ªå称ï¼ä»¥åå°±å¯ä»¥å¨ç¨åºä¸ä½¿ç¨æ ä¸çå¼ç¨åéæ¥è®¿é®å ä¸çæ°ç»æ对象ã
å
·ä½ç说ï¼
æ ä¸å é½æ¯Javaç¨æ¥å¨Ramä¸åæ¾æ°æ®çå°æ¹ãä¸C++ä¸åï¼Javaèªå¨ç®¡çæ åå ï¼ç¨åºåä¸è½ç´æ¥å°è®¾ç½®æ æå ã
Javaçå æ¯ä¸ä¸ªè¿è¡æ¶æ°æ®åº,ç±»ç(对象ä»ä¸åé
空é´ãè¿äºå¯¹è±¡éè¿newãnewarrayãanewarrayåmultianewarrayçæ令建ç«ï¼å®ä»¬ä¸éè¦ç¨åºä»£ç æ¥æ¾å¼çéæ¾ãå æ¯ç±åå¾åæ¶æ¥è´è´£çï¼å çä¼å¿æ¯å¯ä»¥å¨æå°åé
å
å大å°ï¼çåæä¹ä¸å¿
äºå
åè¯ç¼è¯å¨ï¼å 为å®æ¯å¨è¿è¡æ¶å¨æåé
å
åçï¼Javaçåå¾æ¶éå¨ä¼èªå¨æ¶èµ°è¿äºä¸å使ç¨çæ°æ®ãä½ç¼ºç¹æ¯ï¼ç±äºè¦å¨è¿è¡æ¶å¨æåé
å
åï¼ååé度è¾æ
¢ã
æ çä¼å¿æ¯ï¼ååé度æ¯å è¦å¿«ï¼ä»
次äºå¯åå¨ï¼æ æ°æ®å¯ä»¥å
±äº«ãä½ç¼ºç¹æ¯ï¼åå¨æ ä¸çæ°æ®å¤§å°ä¸çåæå¿
é¡»æ¯ç¡®å®çï¼ç¼ºä¹çµæ´»æ§ãæ ä¸ä¸»è¦åæ¾ä¸äºåºæ¬ç±»åçåéï¼,int, short, long, byte, float, double, boolean, charï¼å对象å¥æã
æ æä¸ä¸ªå¾éè¦çç¹æ®æ§ï¼å°±æ¯åå¨æ ä¸çæ°æ®å¯ä»¥å
±äº«ãå设æ们åæ¶å®ä¹ï¼
int a = 3;
int b = 3ï¼
ç¼è¯å¨å
å¤çint a = 3ï¼é¦å
å®ä¼å¨æ ä¸å建ä¸ä¸ªåé为açå¼ç¨ï¼ç¶åæ¥æ¾æ ä¸æ¯å¦æ3è¿ä¸ªå¼ï¼å¦æ没æ¾å°ï¼å°±å°3åæ¾è¿æ¥ï¼ç¶åå°aæå3ãæ¥çå¤çint b = 3ï¼å¨å建å®bçå¼ç¨åéåï¼å 为å¨æ ä¸å·²ç»æ3è¿ä¸ªå¼ï¼ä¾¿å°bç´æ¥æå3ãè¿æ ·ï¼å°±åºç°äºaä¸båæ¶åæå3çæ
åµãè¿æ¶ï¼å¦æå令a=4ï¼é£ä¹ç¼è¯å¨ä¼éæ°æç´¢æ ä¸æ¯å¦æ4å¼ï¼å¦æ没æï¼åå°4åæ¾è¿æ¥ï¼å¹¶ä»¤aæå4ï¼å¦æå·²ç»æäºï¼åç´æ¥å°aæåè¿ä¸ªå°åãå æ¤aå¼çæ¹åä¸ä¼å½±åå°bçå¼ãè¦æ³¨æè¿ç§æ°æ®çå
±äº«ä¸ä¸¤ä¸ªå¯¹è±¡çå¼ç¨åæ¶æåä¸ä¸ªå¯¹è±¡çè¿ç§å
±äº«æ¯ä¸åçï¼å 为è¿ç§æ
åµaçä¿®æ¹å¹¶ä¸ä¼å½±åå°b, å®æ¯ç±ç¼è¯å¨å®æçï¼å®æå©äºèç空é´ãèä¸ä¸ªå¯¹è±¡å¼ç¨åéä¿®æ¹äºè¿ä¸ªå¯¹è±¡çå
é¨ç¶æï¼ä¼å½±åå°å¦ä¸ä¸ªå¯¹è±¡å¼ç¨åéã
Stringæ¯ä¸ä¸ªç¹æ®çå
è£
ç±»æ°æ®ãå¯ä»¥ç¨ï¼
String str = new String("abc");
String str = "abc";
两ç§çå½¢å¼æ¥å建ï¼ç¬¬ä¸ç§æ¯ç¨new()æ¥æ°å»ºå¯¹è±¡çï¼å®ä¼å¨åæ¾äºå ä¸ãæ¯è°ç¨ä¸æ¬¡å°±ä¼å建ä¸ä¸ªæ°ç对象ã
è第äºç§æ¯å
å¨æ ä¸å建ä¸ä¸ªå¯¹Stringç±»ç对象å¼ç¨åéstrï¼ç¶åæ¥æ¾æ ä¸æ没æåæ¾"abc"ï¼å¦æ没æï¼åå°"abc"åæ¾è¿æ ï¼å¹¶ä»¤stræåâabcâï¼å¦æå·²ç»æâabcâ åç´æ¥ä»¤stræåâabcâã
æ¯è¾ç±»éé¢çæ°å¼æ¯å¦ç¸çæ¶ï¼ç¨equals()æ¹æ³ï¼å½æµè¯ä¸¤ä¸ªå
è£
ç±»çå¼ç¨æ¯å¦æååä¸ä¸ªå¯¹è±¡æ¶ï¼ç¨==ï¼ä¸é¢ç¨ä¾å说æä¸é¢çç论ã
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true
å¯ä»¥çåºstr1åstr2æ¯æååä¸ä¸ªå¯¹è±¡çã
String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false
ç¨newçæ¹å¼æ¯çæä¸åç对象ãæ¯ä¸æ¬¡çæä¸ä¸ªã
å æ¤ç¨ç¬¬1ç§æ¹å¼å建å¤ä¸ªâabcâå符串,å¨å
åä¸å
¶å®åªåå¨ä¸ä¸ªå¯¹è±¡èå·². è¿ç§åæ³æå©ä¸èçå
å空é´. åæ¶å®å¯ä»¥å¨ä¸å®ç¨åº¦ä¸æé«ç¨åºçè¿è¡é度ï¼å 为JVMä¼èªå¨æ ¹æ®æ ä¸æ°æ®çå®é
æ
åµæ¥å³å®æ¯å¦æå¿
è¦å建æ°å¯¹è±¡ãè对äºString str = new String("abc")ï¼ç代ç ï¼åä¸æ¦å¨å ä¸å建æ°å¯¹è±¡ï¼èä¸ç®¡å
¶å符串å¼æ¯å¦ç¸çï¼æ¯å¦æå¿
è¦å建æ°å¯¹è±¡ï¼ä»èå éäºç¨åºçè´æ
ã
å¦ä¸æ¹é¢, è¦æ³¨æ: æ们å¨ä½¿ç¨è¯¸å¦String str = "abc"ï¼çæ ¼å¼å®ä¹ç±»æ¶ï¼æ»æ¯æ³å½ç¶å°è®¤ä¸ºï¼å建äºStringç±»ç对象strãæ
å¿é·é±ï¼å¯¹è±¡å¯è½å¹¶æ²¡æ被å建ï¼èå¯è½åªæ¯æåä¸ä¸ªå
åå·²ç»å建ç对象ãåªæéè¿new()æ¹æ³æè½ä¿è¯æ¯æ¬¡é½å建ä¸ä¸ªæ°ç对象ãç±äºStringç±»çimmutableæ§è´¨ï¼å½Stringåééè¦ç»å¸¸åæ¢å
¶å¼æ¶ï¼åºè¯¥èè使ç¨StringBufferç±»ï¼ä»¥æé«ç¨åºæçã
温馨提示:答案为网友推荐,仅供参考