Icons list | IntelliJ Platform UI Guidelines
propertyReadStatic
propertyReadWrite
propertyReadWriteStatic
propertyWrite
访问修饰符:
1、public,一把绿色的开启状态的小锁,
2、protected,一把灰色的钥匙,
3、default,一个灰色的圆环,
4、private,一把橙色的关闭状态的小锁,
final修饰符:
final用一个小图钉表示,如图表示一个final方法,
static修饰符:
static用一个旋转了45度角的空心正方形表示,如图表示一个静态属性,
abstract修饰符。
abstract修饰的类或方法,其图标会在原有的图标上左右各切除一部分,背景为灰色。如下图所示:
抽象类:
抽象方法:
在IDEA中,主要有以下几个符号:
下面我会列出他们的意思和他们变形后的意思。在最后面,我会放出一张IDEA中生成的类图并解释,帮助理解这些内容。
:表示类中的普通方法
:表示类中的构造方法
:表示已经实现了getXxx()或setXxx()的方法
:表示内部类
:表示类中的属性
:表示公有的类或方法
:表示私有的类或方法
:表示接口类
:表示普通类
:关联,聚合,组合三种都以这种形式表现出来。实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数
:依赖。虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者
:实现。绿色虚线三角形箭头,指向父类。
:泛化。蓝色实线三角形箭头,指向父类
生成方法 举例:
Show Diagrams
- 选中需要的类,右键单击
Diagrams
,之后点击Show Diagrams
,或者快捷键Ctrl+Alt+Shift+U
- 生成类图,将类图显示在编辑器窗口中
Show Diagrams PopUp
- 选中所需要类,右键单击
Diagrams
,之后点击Show Diagrams PopUp
,或者快捷键Ctrl+Alt+U
- 生成类图,将类图显示在弹出窗口中
工具栏(Toolbar)
泛化(Generalization)
- 代码(体现在类的继承)
//Person代表人
public class Person {
}
//Man代表男人
public class Man extends Person{
}
- 类图(实线三角形箭头,指向父类)
实现(Realization)
- 代码(体现在类的实现)
//Dao接口
public interface Dao {
}
//Dao实现
public class DaoImpl implements Dao {
}
- 类图(虚线三角形箭头,指向接口)
依赖(Dependency)
代码(体现在局部变量、方法的参数或者对静态方法的调用)
//手机类
public class CellPhone {
//手机可以玩游戏
public void playGames(){
System.out.println("play games");
}
}
//普通人
public class Person {
//买手机
public CellPhone buyCellPhone(){
return new CellPhone();
}
//买个手机玩游戏
public void play(){
CellPhone cellPhone = buyCellPhone();
cellPhone.playGames();
}
}
- 类图(虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者)
关联(Association)、聚合(Aggregation)、组合(Composition)
- 区别
三者在代码上的表现相同,只是语意上有所差别。
组合:整体和部分同生共死,部分无法离开整体单独存在
聚合:部分可以离开整体单独存在
关联:代表一种拥有关系 - 代码(体现在成员变量中)
//父母类
public class Parent {
//可以拥有多个孩子
public List<Child> children;
//可以拥有手机
public CellPhone cellPhone;
}
//孩子类
public class Child {
//孩子的父母
public Parent parent;
}
//手机类
public class CellPhone {
}
- 类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数)
一个父母可以有多个孩子(1 *),可以有一部手机(1 1)。每个孩子都有一个父母(1 1)