zoukankan      html  css  js  c++  java
  • 静态类static

    1:在静态类中所包含的所有成员必须都是静态成员

    不是所有的静态成员都必须写在静态类中

    2:静态成员:是属于类的,不是属于具体对象的,所以访问静态成员的时候不能通过对象点属性来访问,只能通过类名来直接访问静态成员,比如类目点成员名。在程序的任何地方静态成员始终访问的是同一块内存。有一个地方把该值改变,则所有的地方取到的值都变了

    实例成员:Person p=new Person();Person p1=new Person();是属于具体某个对象的,

    2.1实例中什么时候使用静态属性:很多对象的属性都用同一个值。银行的利率,每个账户的利率都相同

    实例中什么时候使用静态方法:方法和具体对象没有关系,就是工具方法,

    2.2实例类的构造函数私有,这个时候就没法创建对象了,通过静态方法创建对象。其他地方调用静态放创建实例。

    类的构造函数私有了,没法创建对象,没法调用对象里的实例成员。

    想创建对象就把他写成静态成员,这个时候还没对象,通过静态成员,在本类的内部的静态方法里创建对象

    3静态成员只有在程序退出的时候才会释放资源。

    而实例对象,只要使用完毕就可以执行垃圾回收

    4静态构造函数的特点

    4.1静态构造函数不允许出现访问修饰符,第一次使用时静态成员,自动创建

    ,默认private

    4.2静态构造函数不能传参数,系统自动调用的

    4.3静态构造函数只执行一次,在第一次使用静态类或静态成员的时候执行

    namespace _02静态构造函数_静态成员初始化问题
    {
        class Program
        {
            static void Main(string[] args)
            {
                MyClass mc = new MyClass();
                Console.WriteLine(MyClass.Weigth);
                Console.WriteLine(MyClass.Name);
                Console.WriteLine(  "哈哈哈哈");
                MyClass.Weigth = 100;
                MyClass.Name = "李四";
                Console.WriteLine(  MyClass.Weigth);
                Console.WriteLine(  MyClass.Name);
                Console.ReadKey();
            }
    
            public class MyClass
            {
                public MyClass() {
                    Weigth = 120;
                    Name = "王五";
                }
                static MyClass()
                {
                    Console.WriteLine("-----------------静态成员被初始化啦----------------");
                    Weigth = 80;
                    Name = "张三";
                }
                public static int Weigth { get; set; }
                public static string Name { get; set; }
            }
        }
    }

  • 相关阅读:
    LeetCode(111) Minimum Depth of Binary Tree
    LeetCode(108) Convert Sorted Array to Binary Search Tree
    LeetCode(106) Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode(105) Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode(99) Recover Binary Search Tree
    【Android】通过经纬度查询城市信息
    【Android】自定义View
    【OpenStack Cinder】Cinder安装时遇到的一些坑
    【积淀】半夜突然有点想法
    【Android】 HttpClient 发送REST请求
  • 原文地址:https://www.cnblogs.com/xiaoyueryeah/p/8428161.html
Copyright © 2011-2022 走看看