黑马程序员技术交流社区

标题: 有static修饰的方法和没static修饰方法的区别 [打印本页]

作者: 郑玉赛    时间: 2012-5-17 14:35
标题: 有static修饰的方法和没static修饰方法的区别
本帖最后由 郑玉赛 于 2012-5-17 21:28 编辑

用static修饰了的方法和没用static修饰的方法有什么区别
作者: 朱亮辉    时间: 2012-5-17 17:01
区别在于对此方法的访问方法。
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()
        {

        }
    }
作者: 程序有Bug    时间: 2012-5-17 18:18
static 静态的,在Web开发中,你就能发现他的作用了
作者: 王珂珂    时间: 2012-5-17 21:07
1.有static的是静态,使用类名调用;没有static是非静态,使用实例对象调用
2.在静态方法中,可以访问静态成员,不可用直接访问实例成员;在实例方法中,可以直接访问静态成员和实例成员
3.静态方法调用前初始化;非静态实例化对象是初始化
作者: 陌花╮有意、    时间: 2012-5-18 14:38
用static修饰了的方法可以直接用 类名.方法名 进行调用
没用static修饰的方法必须实例化对象  调用是  对象名.方法名  在web中工具类我一般用static修饰
另外在内存中的分配也不一样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2