静态成员-静态方法-静态类

1. 静态成员属于类所有,非静态成员属于类的实例所有,即使用静态成员不需要实例化

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myStatic
{
    class Program
    {
        static void Main(string[] args)
        {
            person.Age = 30;
            //此处不需要new person,直接使用person.age
            Console.WriteLine(person.Age);
            Console.ReadKey();
        }
    }
    public class person
    {
        private static int age;
        public static int Age
        {
            get { return age; }
            set { age = value; }
        }
    }
}

2.每创建一个实例,都会为每个非静态成员分配一个内存空间,非静态成员为类所有,为各个类的实例所公用;但是无论创建了多少个实例,类的静态成员在内存中占用同一块区域。

3.静态方法和静态成员一样,也是属于类所有,不用创建类的实例,就可以直接使用
4.非静态方法,可以访问类中的所有成员;但是静态方法,只能使用类中的静态成员----因为静态方法在类实例化之前就可以使用,但是非静态成员必须在类实例化之后,才分配内存空间,这样静态方法调用是,无法判断非静态变量使用的内存地址,多以无法使用,而静态成员的地址对类来说是固定的,所以可以使用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace myStatic
{
    class Program
    {
        static void Main(string[] args)
        {
            person.Age = 30;
            //此处不需要new person,直接使用person.age
            Console.WriteLine(person.Age);
            person.SayHello1();
            Console.ReadKey();

        }
    }
    public class person
    {
        private static int age;
        public static int Age
        {
            get { return age; }
            set { age = value; }
        }

        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public static void SayHello1()
        {
            Console.WriteLine("你好,我今年{0}岁了", person.Age);
            //静态方法可以调用静态变量
        }
        public static void SayHello2(string s)
        {
            //Console.WriteLine("你好,我的名字是{0}",this.Name);
            //出错啦,提示:关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效

        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值