直接回答
語言規範無硬性限制,僅受限於:
- JVM 方法區容量:類元數據(字段、方法表)佔用 Metaspace(Java 8+),默認無上限,受物理內存約束。
- 代碼可維護性:屬性過多(超過 20~30)通常意味著設計問題,應拆分類或使用組合。
- 序列化/反射性能:字段越多,序列化體積、反射遍歷開銷線性增長。
最佳實踐
- 單一職責原則:一個類只負責一個領域概念。
- 超過 10 個字段考慮拆分為值對象(Value Object)。
- 使用
@Data (Lombok) 或 Record (Java 14+) 減少樣板代碼。
結論
理論上可無限增加,工程上強烈建議控制在合理範圍,通過領域建模而非堆砌字段來組織數據。