如同一個(gè)Employee對(duì)象描述一個(gè)特定員工的屬性一樣,一個(gè)Class類(lèi)描述一個(gè)特定類(lèi)的屬性。Class類(lèi)中最常用的方法可能就是getName,它能返回類(lèi)的名稱(chēng)。
能夠分析類(lèi)的能力的程序稱(chēng)為反射器。
- 在運(yùn)行時(shí)分析類(lèi)的能力;
- 在運(yùn)行時(shí)探查對(duì)象.比如,只寫(xiě)一個(gè)toString方法供所有的類(lèi)使用;
- 實(shí)現(xiàn)通用數(shù)組操作代碼;
- 利用method對(duì)象.這個(gè)對(duì)象就像C++中的函數(shù)指針.
設(shè)計(jì)繼承的建議:
- 把通用字段和操作放到超類(lèi)中;
- 不要使用受保護(hù)字段;
- 使用繼承來(lái)模型化"is-a"關(guān)系;
- 除非所有繼承的方法都有意義,否則不要使用繼承;
- 使用多態(tài),而非類(lèi)型信息;
- 不要濫用反射.