在Web浏览器中,很容易编写JAVA程序"Hello,World!"
import java.awt.Graphics;
class HelloWorld extends java.applet.Applet {
public void paint (Graphics g) {
g.drawString("Hello, World!", 10,10);
}
}

  在UML中,对上述程序建模十分简单,具体形式如图4.9所示。

图4.9 HelloWorld抽象模型

  在前面的代码中,还有两个类Applet和Graphics,其中类Applet是类HelloWorld的父类,类Graphics则被类HelloWorld的一个操作paint所使用,从而形成了如图4.10所示的关系。

图4.10 与HelloWorld直接相关的类

  如果分析类Applet和Graphics的JAVA库,就会发现这两个类的继承层次,形成另一个类图,如图4.11所示。

图4.11 HelloWorld的继承层次

  为了管理大规模的类层次图,可以用包来组织类,将HelloWorld打包形成如图4.12形式。

图4.12 HelloWorld包

  也许人们想知道JAVA类库中各部分之间是如何协同工作的,如图4.13显示了如何调用HelloWorld的操作paint。

图4.13 painting机制

  "Hello,World!"作为一个程序并不是单独存在的,它通常是嵌入在Web页中,如图4.14显示了这个程序的物理构件视图。

图4.14 HelloWorld构件