zoukankan      html  css  js  c++  java
  • c#中的static

    概述

    像在VB。C#,C。C++,Java中我们能够看到static作为keyword和函数出现,在其它的高级计算机语言如FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、PROLOG、Ada等语言中也是有出现的。仅仅是有着不同的作用,对于其详细作用,读者有须要的时候是能够详细查阅的。

    理解

    statickeyword的确是面向过程开发的时代就有的keyword,可是并不代表是面向对象开发中就应该尽量避免statickeyword。

    静态类跟非静态类效果肯定是不一样的,差别肯定是有的。

    static类一般用于与状态无关的类。那么,什么是与状态无关的类?我的理解是当一个类中没有属性,仅仅有方法的的时候。就能够觉得这个类是与状态无关的类。回忆非静态类实例化一个对象,目的在什么地方?目的就是通过这个实例化的对象来保存类的状态。


    不是吗?比如

    A a = new A();
    a.Name = "Kevin";
    a.Sex = "男";
    ......

    通过我们实例化的对象a,类的状态被对象a保持住了。


    假设我们的类没有属性,全是方法,那么。有必要为了调用类中的方法,先实例化一个对象出来吗?
    因此,笔者建议。在做类的设计的时候。假设类是与状态无关的类,建议将其设计为static类。
    至于说这样做的意义:首先,省略了构造一个对象的性能损耗,尽管能够忽略不计。其次,对程序猿比較友好,调用类的方法更加的方便。

    总结

    仅仅要一个类是与状态类无关的类。那么将其设计成静态类是没有问题的。


  • 相关阅读:
    Candy leetcode java
    Trapping Rain Water leetcode java
    Best Time to Buy and Sell Stock III leetcode java
    Best Time to Buy and Sell Stock II leetcode java
    Best Time to Buy and Sell Stock leetcode java
    Maximum Subarray leetcode java
    Word Break II leetcode java
    Word Break leetcode java
    Anagrams leetcode java
    Clone Graph leetcode java(DFS and BFS 基础)
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6927615.html
Copyright © 2011-2022 走看看