UML图中`- name : Name`语法含义是什么,对应Java代码如何编写?
UML类属性语法及对应Java实现说明
UML类图中属性的通用表达格式为:[可见性修饰符] 属性名 : 数据类型,各部分含义及对应Java实现如下:
核心规则说明
- 开头的符号为可见性修饰符,用于标识属性的访问权限
- 冒号左侧为自定义的属性名称
- 冒号右侧为属性的数据类型,可以是Java内置类型,也可以是自定义的类类型
你提到的示例逐一解析
1. - name : Name
含义:私有属性,属性名为name,数据类型为自定义的Name类,仅当前类内部可直接访问。
对应Java实现:
private Name name;
常规配套Getter/Setter写法:
public Name getName() { return name; } public void setName(Name name) { this.name = name; }
2. - startDate : Date
含义:私有属性,属性名为startDate,数据类型为日期类,Java中通常对应java.util.Date或Java 8+推荐的java.time.LocalDate。
对应Java实现:
// 使用java.util.Date private Date startDate; // 使用java.time.LocalDate(更推荐) private LocalDate startDate;
3. var : Var
含义:未显式标注可见性,UML默认对应包私有访问权限,属性名为var,数据类型为自定义的Var类,仅同包下的类可直接访问。
对应Java实现:
// 无访问修饰符即为包私有 Var var;
拓展:UML常见可见性修饰符对照表
| UML修饰符 | 含义 | 对应Java修饰符 | 示例 | 对应Java代码 |
|---|---|---|---|---|
+ | 公共访问,所有类可访问 | public | + id : int | public int id; |
# | 受保护访问,当前类、同包类、子类可访问 | protected | # count : Integer | protected Integer count; |
- | 私有访问,仅当前类可访问 | private | - age : int | private int age; |
| 无 | 包私有访问,仅同包类可访问 | 无修饰符 | serialVersionUID : long | long serialVersionUID; |
内容的提问来源于stack exchange,提问作者user14382661
相关产品推荐
相关产品推荐

