A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张向阳 中级黑马   /  2012-12-12 23:54  /  1891 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

namespace _02静态和非静态
{
    class Program
    {
        static void Main(string[] args)
        {
            //static修饰的字段是静态字段,用static修饰的方法是静态方法
           
            MyStatic ms = new MyStatic();//new一个实例
            ms.num1=10;//通过实例名.字段名的方式调用
            ms.func();//通过实例名.方法名的方式调用
            //-----------------------------------------------------
            MyStatic.num2 = 100;//通过类名.字段名直接调用
            MyStatic.funcStatic();//通过类名.方法名直接调用
            Console.ReadKey();
        }
    }
    class MyStatic
    {
        public int num1;//一般字段
        public static int num2;//静态字段
        public void func()//一般方法
        {
            Console.WriteLine("我是一个一般方法");
        }
        public static void funcStatic()//静态方法
        {
            Console.WriteLine("我是一个静态方法");
        }
    }

静态构造方法和静态类的生命周期
         静态构造方法在第一次访问这个类的时候就会执行,并且只执行一次!到程序结束才会释放,所以尽量多用静态方法,少用静态字段!
         静态构造方法无返回值、无参数、无访问修饰符,只由static修饰!
         静态成员属于该类的所有对象,实例成员只属于当前实例!

静态和非静态对比一览表.png (84.93 KB, 下载次数: 37)

表格对比

表格对比

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

3 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
值得学习ing!
回复 使用道具 举报
nice,支持
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马