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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 郑玉赛 于 2012-5-17 21:28 编辑

用static修饰了的方法和没用static修饰的方法有什么区别

评分

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

查看全部评分

5 个回复

倒序浏览
区别在于对此方法的访问方法。
1、使用static修饰的方法,可以直接用类访问
2、没有使用static修饰的方法,只能通过对象访问(类的实例)
3、static修饰的方法不能被重写,不用static修饰的方法就可以被重写。

    class Program
    {
        static void Main(string[] args)
        {
            //Test1方法只能先实例化一个对象,通过对象t来访问(不用static修饰的方法)
            Test t = new Test();
            t.Test1();

            //使用static修饰的方法可以直接通过类访问方法
            Test.Test2();

        }



    }

    public class Test
    {
        //不带static的方法
        public void Test1()
        {

        }

        //带有static的方法
        public static void Test2()
        {

        }
    }

评分

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

查看全部评分

回复 使用道具 举报
static 静态的,在Web开发中,你就能发现他的作用了

评分

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

查看全部评分

回复 使用道具 举报
1.有static的是静态,使用类名调用;没有static是非静态,使用实例对象调用
2.在静态方法中,可以访问静态成员,不可用直接访问实例成员;在实例方法中,可以直接访问静态成员和实例成员
3.静态方法调用前初始化;非静态实例化对象是初始化

评分

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

查看全部评分

回复 使用道具 举报
用static修饰了的方法可以直接用 类名.方法名 进行调用
没用static修饰的方法必须实例化对象  调用是  对象名.方法名  在web中工具类我一般用static修饰
另外在内存中的分配也不一样

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马