在Java類中可以聲明多少個字段是否有限制? This question解決方法的參數數量,但我很好奇,知道Java類是否有任何限制,以及這個限制是多少。類中的字段限制
這只是出於好奇 - 我實際上不會宣佈擁有數千個字段的類。
在Java類中可以聲明多少個字段是否有限制? This question解決方法的參數數量,但我很好奇,知道Java類是否有任何限制,以及這個限制是多少。類中的字段限制
這只是出於好奇 - 我實際上不會宣佈擁有數千個字段的類。
是,65535,這裏說明https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.11
相關部分是:
可以由一個類或接口中聲明字段的數量是有限的 到65535通過的大小ClassFile 結構(§4.1)的fields_count項。
請注意,ClassFile 結構的fields_count項的值不包括從超類 或超接口繼承的字段。
恰好65535,不包括繼承的字段。
從Limitations of the Java Virtual Machine:
可由類聲明或接口由
ClassFile
結構(§4.1)的fields_count
項的大小限制爲65535的字段數。請注意,結構項的值不包括從超類或超接口繼承的字段。
這幾乎可以肯定不會回答你的問題,但硬限制將是最大化可用堆空間與一個實例xD –
爲什麼你對可以在類中聲明多少個字段感興趣?如果你需要有成千上萬的字段,你可能不需要爲它們設置不同的名字,但是你將使用一個集合或者數組來存儲它們的值,通過索引來訪問它們。 –
在我的編輯中添加了一些精度。這只是一種好奇心。 –