UML中的最终静态类是否有特定的表示法?

UML中的最终静态类是否有特定的表示法?,uml,data-modeling,Uml,Data Modeling,如何在UML中将类声明为最终静态类? 我们对抽象类使用斜体约定,但我似乎找不到任何关于最终静态类的信息。“最终”?关键字 所以我假设您谈论的是Java编程语言 Java final? 我假设您讨论的是Java中的最后一个类 Java最终静态类 不能在Java中定义静态类。只有嵌套类可以是静态的。 下面是一个带有嵌套类的示例Java代码 public final class MyFinalClass { public static void main(String[] args)

如何在UML中将类声明为最终静态类? 我们对抽象类使用斜体约定,但我似乎找不到任何关于最终静态类的信息。

“最终”?关键字

所以我假设您谈论的是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”标记sterotype]

和小心“final”在Java中用作变量时有不同的含义。 另一个Java示例代码

public class MySingletonClass 
{
    private MySingletonClass()
    {

    }

    private final static MySingletonClass me = new MySingletonClass();

}
一种可能的UML表示法是:[“readonly”一旦分配,就不能更改]

最终版本?关键字

所以我假设您谈论的是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”标记sterotype]

和小心“final”在Java中用作变量时有不同的含义。 另一个Java示例代码

public class MySingletonClass 
{
    private MySingletonClass()
    {

    }

    private final static MySingletonClass me = new MySingletonClass();

}
一种可能的UML表示法是:[“readonly”一旦分配,就不能更改]


作为经验法则,UML几乎不知道特定于语言的特性。

作为经验法则,UML几乎不知道特定于语言的特性。

来自UML上层结构规范v2.4.1,第7.3.8节,分类器:

isFinalSpecialization:布尔值如果为true,则无法创建分类器 通过泛化进行专门化。(…)默认值为false

这相当于Java类中的最后一个修饰符


Re:静态类-你是在谈论内部静态类吗?UML支持将特性(操作和属性)设置为静态,但不支持内部类。

来自UML上层结构规范v2.4.1,第7.3.8节,分类器:

isFinalSpecialization:布尔值如果为true,则无法创建分类器 通过泛化进行专门化。(…)默认值为false

这相当于Java类中的最后一个修饰符


Re:静态类-你是在谈论内部静态类吗?UML支持将特性(操作和属性)设置为静态,但不支持内部类。

最终应全部用大写,静态应加下划线

最终应全部用大写,静态应加下划线

对不起,应该指定它是PHP。我使用一个PHP最终静态类来定义Symfony2中的所有名称空间内核事件。我们现在用它来表示这个类。谢谢你的意见!抱歉,应该指定它是PHP。我使用一个PHP最终静态类来定义Symfony2中的所有名称空间内核事件。我们现在用它来表示这个类。谢谢你的意见!但是它有许多跨不同语言的特性——能够将一个类标记为不可专门化并不是Java特有的,这是一个例子。但是它有许多跨不同语言的特性——能够将一个类标记为不可专门化并不是Java特有的,这是一个例子。我知道你正在谈论的PHP。静态类在PHP中有什么用途?我知道你在谈论PHP。静态类在PHP中有什么用途?