Àࣨclass£©ÊÇc#ÀàÐÍÖÐ×î»ù´¡µÄÀàÐÍ¡£ÀàÊÇÒ»¸öÊý¾Ý½á¹¹£¬½«×´Ì¬£¨×ֶΣ©ºÍÐÐΪ£¨·½·¨ºÍÆäËûº¯Êý³ÉÔ±£©×éºÏÔÚÒ»¸öµ¥ÔªÖС£ÀàÌṩÁËÓÃÓÚ¶¯Ì¬´´½¨ÀàʵÀýµÄ¶¨Ò壬Ҳ¾ÍÊǶÔÏó£¨object£©¡£ÀàÖ§³Ö¼Ì³Ð£¨inheritance£©ºÍ¶à̬£¨polymorphism£©£¬¼´ÅÉÉúÀàÄܹ»À©Õ¹ºÍÌØÊ⻯»ùÀàµÄ»úÖÆ¡£
ʹÓÃÀàÉùÃ÷¿ÉÒÔ´´½¨ÐµÄÀà¡£ÀàÉùÃ÷ÒÔÒ»¸öÉùÃ÷Í·¿ªÊ¼£¬Æä×é³É·½Ê½ÈçÏ£ºÏÈÊÇÖ¸¶¨ÀàµÄÌØÐÔºÍÐÞÊηû£¬ºó¸úÀàµÄÃû×Ö£¬»ùÀࣨÈç¹ûÓеϰ£©µÄÃû×Ö£¬ÒÔ¼°±»¸ÃÀàʵÏֵĽӿÚÃû¡£ÉùÃ÷Í·ºóÃæ¾ÍÊÇÀàÌåÁË£¬ËüÓÉÒ»×é°üº¬ÔÚ´óÀ¨ºÅ£¨{}£©ÖеijÉÔ±ÉùÃ÷×é³É¡£
ÏÂÃæÊÇÒ»¸öÃûΪpointµÄ¼òµ¥ÀàµÄÉùÃ÷£º
public class point {
public int x, y;
public point(int x, int y){
this.x = x;
this.y = y; } }
ʹÓÃnewÔËËã·û´´½¨ÀàµÄʵÀý£¬Ëü½«ÎªÐÂʵÀý·ÖÅäÄڴ棬µ÷Óù¹Ô캯Êý³õʼ»¯ÊµÀý£¬²¢ÇÒ·µ»Ø¶Ô¸ÃʵÀýµÄÒýÓá£ÏÂÃæµÄÓï¾ä´´½¨Á½¸öpoint¶ÔÏ󣬲¢ÇÒ½«ÄÇЩ¶ÔÏóµÄÒýÓñ£´æµ½Á½¸ö±äÁ¿ÖУº
point p1 = new point(0, 0);
point p2 = new point(10, 20);
µ±²»ÔÙʹÓöÔÏóʱ£¬¸Ã¶ÔÏóËùÕ¼µÄÄڴ潫±»×Ô¶¯»ØÊÕ¡£ÔÚc#ÖУ¬Ã»ÓбØÒªÒ²²»¿ÉÄÜÏÔʽµØÊͷŶÔÏó¡£
1.6.1 ³ÉÔ±
ÀàµÄ³ÉÔ±»òÕßÊǾ²Ì¬³ÉÔ±£¨static member£©£¬»òÕßÊÇʵÀý³ÉÔ±£¨instance member£©¡£¾²Ì¬
³ÉÔ±ÊôÓÚÀ࣬ʵÀý³ÉÔ±ÊôÓÚ¶ÔÏó£¨ÀàµÄʵÀý£©¡£
±í1.6ÌṩÁËÀàËùÄܰüº¬µÄ¸÷ÖÖ³ÉÔ±µÄÃèÊö¡£
±í1.6 Àà µÄ ³É Ô± ³É Ô± Ãè Êö
³£Êý
ÓëÀà¹ØÁªµÄ³£Á¿Öµ ×Ö¶Î ÀàµÄ±äÁ¿ ·½·¨
Äܹ»±»ÀàÖ´ÐеļÆËãºÍÐÐΪ ÊôÐÔ
ʹ¶ÔÏóÄܹ»¶ÁÈ¡ºÍдÈëÀàµÄÃüÃûÊôÐÔ
Ë÷ÒýÆ÷
ʹ¶ÔÏóÄܹ»ÓÃÓëÊý×éÏàͬµÄ·½Ê½½øÐÐË÷Òý ʼþ
Äܹ»±»Àà²úÉúµÄ֪ͨ ÔËËã·û
ÀàÖ§³ÖµÄת»»ºÍ±í´ïʽÔËËã·û
¹¹Ô캯Êý
³õʼ»¯ÀàµÄʵÀý»òÕßÀà±¾Éí
Îö¹¹º¯Êý
ÔÚÓÀ¾ÃÏú»ÙÀàµÄʵÀý֮ǰִÐеÄÐÐΪ ÀàÐÍ
±»ÀàÉùÃ÷µÄǶÌ×ÀàÐÍ
1.6.2 ¿É·ÃÎÊÐÔ
ÀàµÄÿ¸ö³ÉÔ±¶¼ÓйØÁªµÄ¿É·ÃÎÊÐÔ£¬Ëü¿ØÖÆÄܹ»·ÃÎʸóÉÔ±µÄ³ÌÐòÎı¾ÇøÓò¡£ÓÐ5ÖÖ¿ÉÄܵÄ
¿É·ÃÎÊÐÔÐÎʽ¡£±í1.7¸ÅÊöÁËÀàµÄ¿É·ÃÎÊÐÔµÄÒâÒå¡£
±í1.7 ÀàµÄ¿É·ÃÎÊÐÔ
¿É·ÃÎÊÐÔ Òâ Òå public ·ÃÎʲ»ÊÜÏÞÖÆ
protected
·ÃÎʽöÏÞÓÚ°üº¬Àà»ò´Ó°üº¬ÀàÅÉÉúµÄÀàÐÍ
internal
·ÃÎʽöÏÞÓÚµ±Ç°³ÌÐò¼¯
protected internal
·ÃÎʽöÏÞÓÚ´Ó°üº¬ÀàÅÉÉúµÄµ±Ç°³ÌÐò¼¯»òÀàÐÍ private
·ÃÎʽöÏÞÓÚ°üº¬Àà
1.6.3 »ùÀà
ÀàµÄÉùÃ÷¿ÉÄÜͨ¹ýÔÚÀàÃûºó¼ÓÉÏðºÅºÍ»ùÀàµÄÃû×ÖÀ´Ö¸¶¨Ò»¸ö»ùÀàÒë×¢4¡£Ê¡ÂÔ»ùÀàµÈͬÓÚÖ±½Ó´ÓobjectÀàÅÉÉú¡£ÔÚÏÂÃæµÄʾÀýÖУ¬point3dµÄ»ùÀàÊÇpoint£¬¶øpointµÄ»ùÀàÊÇobject£º
public class point {
public int x, y;
public point(int x, int y){
this.x = x;
this.y = y; }
}
public class point3d: point {
public int z;
public point3d(int x, int y, int z): point(x, y){
this.z = z; } }
point3dÀà¼Ì³ÐÁËÆä»ùÀàµÄ³ÉÔ±¡£¼Ì³ÐÒâζ×ÅÀཫÒþʽµØ°üº¬Æä»ùÀàµÄËùÓгÉÔ±£¨³ýÁË»ùÀàµÄ¹¹Ô캯Êý£©¡£ÅÉÉúÀàÄܹ»Ôڼ̳лùÀàµÄ»ù´¡ÉÏÔö¼ÓеijÉÔ±£¬µ«ÊÇËü²»ÄÜÒÆ³ý¼Ì³Ð³ÉÔ±µÄ¶¨Òå¡£ÔÚÇ°ÃæµÄʾÀýÖУ¬point3dÀà´ÓpointÀàÖм̳ÐÁËx×ֶκÍy×ֶΣ¬²¢ÇÒÿһ¸öpoint3dʵÀý¶¼°üº¬Èý¸ö×Ö¶Îx£¬yºÍz¡£
´ÓÀàÀàÐ͵½ËüµÄÈκλùÀàÀàÐͶ¼´æÔÚÒþʽµÄת»»¡£²¢ÇÒ£¬ÀàÀàÐ͵ıäÁ¿Äܹ»ÒýÓøÃÀàµÄʵÀý£¬»òÕßÈκÎÅÉÉúÀàµÄʵÀý¡£ÀýÈ磬¶ÔÓÚÇ°Ãæ¸ø¶¨µÄÀàÉùÃ÷£¬pointÀàÐ͵ıäÁ¿Äܹ»ÒýÓÃpointʵÀý»òÕßpoint3dʵÀý£º
point a = new point(10, 20);
point b = new point3d(10, 20, 30);
1.6.4 ×Ö¶Î
×Ö¶ÎÊÇÓë¶ÔÏó»òÀàÏà¹ØÁªµÄ±äÁ¿¡£
µ±Ò»¸ö×Ö¶ÎÉùÃ÷Öк¬ÓÐstaticÐÞÊηûʱ£¬ÓɸÃÉùÃ÷ÒýÈëµÄ×Ö¶ÎΪ¾²Ì¬×ֶΣ¨static field£©¡£ËüÖ»±êʶÁËÒ»¸ö´æ´¢Î»Öᣲ»¹Ü´´½¨Á˶àÉÙ¸öÀàʵÀý£¬¾²Ì¬×ֶζ¼Ö»»áÓÐÒ»¸ö¸±±¾¡£
µ±Ò»¸ö×Ö¶ÎÉùÃ÷Öв»º¬ÓÐstaticÐÞÊηûʱ£¬ÓɸÃÉùÃ÷ÒýÈëµÄ×Ö¶ÎΪʵÀý×ֶΣ¨instance field£©¡£ÀàµÄÿ¸öʵÀý¶¼°üº¬Á˸ÃÀàµÄËùÓÐʵÀý×ֶεÄÒ»¸öµ¥¶À¸±±¾¡£
ÔÚÏÂÃæµÄʾÀýÖУ¬colorÀàµÄÿ¸öʵÀý¶¼ÓÐr£¬g£¬bʵÀý×ֶεIJ»Í¬¸±±¾£¬µ«ÊÇblack£¬white£¬red£¬greenºÍblueµÈ¾²Ì¬×Ö¶ÎÖ»ÓÐÒ»¸ö¸±±¾£º
public class color

