如何在UML中将类声明为最终静态? 我们使用抽象类的斜体约定,但我似乎无法找到最终静态类的任何信息。
答案 0 :(得分:3)
“最终”?关键字
所以我假设您谈论Java编程语言。
Java final?
我假设你在谈论Java的最终课程
Java最终静态类?
您无法在Java中定义静态类。只有嵌套类可以是静态的。 以下是带有嵌套类的Java代码示例。
public final class MyFinalClass {
public static void main(String[] args)
{
StaticNestedClassA.WhoIamI();
StaticNestedClassB.WhoIamI();
}
public static class StaticNestedClassA
{
public static void WhoIamI()
{
System.out.println("I am static class A");
}
}
public final static class FinalStaticNestedClassB
{
public static void WhoIamI()
{
System.out.println("I am final static class B");
}
}
}
一个可行的UML类图是:[最终类的“leaf”标签 - 类型]
小心使用“final”在Java中用作变量时有不同的含义。 另一个Java示例代码
public class MySingletonClass
{
private MySingletonClass()
{
}
private final static MySingletonClass me = new MySingletonClass();
}
可能的UML表示是:[“readonly”一旦分配,则无法更改]
答案 1 :(得分:1)
根据经验,UML几乎不知道语言特有的功能。
答案 2 :(得分:1)
根据UML上层结构规范v2.4.1,第7.3.8节,分类器:
isFinalSpecialization:Boolean如果为true,则分类器不能 通过泛化专门化。(...)默认为false。
这相当于Java类中的final修饰符。
Re:静态类 - 你在谈论内部静态类吗? UML支持将功能(操作和属性)设置为静态,但不支持内部类。
答案 3 :(得分:0)
最终应该全部在CAPS中,静态应该加下划线