public static vs static public – 有区别吗?
sealed class PI { public static float number; static PI() { number = 3.141592653F; } static public float val() { return number; } }
-
公共静态和静态公共有什么区别? 它们可以按任何顺序使用吗?
-
我如何使用
static public float val()
?一旦初始化类,它会立即执行吗?
嗯,这就像一个人的免费精选名字大全=)叫汤姆迈克或迈克汤姆,没有区别。
没有区别。 您可以按任意顺序指定它们。 但是,我发现大多数开发人员倾向于使用公共静态而不是静态公共。
关于修饰符的排序
它们可以按任何顺序使用。 这只是您使用的风格选择。 我总是首先使用可见性,而大多数其他代码也是如此。
关于第二个问题:
static public float val()
这只是一个静态函数。 你用PI.val()
调用它。 你只需要一个类的实例来调用它,但是直接在类上调用它。 静态函数不接收this
引用,不能是虚拟的,它就像非OOP语言中的函数一样,除了它使用类作为命名空间。
没有区别。 他们的命令对彼此并不重要
要回答你的第二个问题,它应该写成
public static class Pi { private static float pi = 0; public static float GetValue() { if (pi == 0) pi = 3.141592653F; // Expensive pi calculation goes here. return pi; } }
并称之为:
float myPi = Pi.GetValue();
编写这样一个类的原因是缓存该值,从而节省了对该方法的后续调用的时间。 如果获得pi的方式需要大量时间来执行计算,那么您只需要进行一次计算。
关于第二个问题:该方法在没有类实例的情况下可用,因此可以调用它:
PI.val();
因为类只有静态成员,所以该类应该是一个静态类,然后它永远不会被初始化。
上述就是C#学习教程:public static vs static public – 有区别吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/942048.html