zoukankan      html  css  js  c++  java
  • Asp.Net程序调用类中定义的方法的有关问题

    以前在调用类中定义的方法的时候,总会遇到一个问题:

    类中定义的方法,有的需要实例化之后,智能提示的列表里才会显示出来自己在类文件中所定义的方法,而有的时候,类不需要实例化,智能提示的列表中也会显示出来定义的方法,同样是类中定义的方法,为什么有的需要实例化才能使用,而有的方法,却不需要实例化,就可以直接使用呢?

    今天我终于明白了这个问题,在这里说明一下,一方面提醒自己记住这个问题,以后遇到这种情况时,不用再去纳闷;一方面也把我的心得共享出来,共同学习,呵呵……

    1.新建一个类文件,名称为 test.cs;

    2.在这个类文件中定义两个方法,代码如下(注意:前一个是静态的,后一个不是静态的):

    /// <summary>
        /// 定义一个静态的方法connstr();
        /// </summary>
        /// <returns></returns>
        public static string connstr()
        {
            return "正确";
        }
        /// <summary>
        /// 定义一个方法connstr2();
        /// </summary>
        /// <returns></returns>
        public  string connstr2()
        {
            return "错误";
        }

    3.然后,新建一个页面(在winfom程序中也可以的),并在页面上放两个个button按钮和两个label控件,如图:

     
    双击 btn1 按钮,生产button的click事件,在里面写代码:
    label1.text=Test.connstr2().Tostring();
     
    双击 btn2 按钮,生产button的click事件,在里面写代码:
    test myTest=new test();
    label1.text=myTest.connstr().Tostring();
     
    运行程序,就可以看到结果了。这时候你就知道问题的所在了,connstr定义的是一个静态的方法,说明这个方法只能通过类来访问,不能通过对象实例来访问;而connstr2定义的方法,因为不是静态的,所以必须通过实例化的方法,来进行调用。
  • 相关阅读:
    jvm性能调优---jstat的用法
    flume-ng+Kafka+Storm+HDFS 实时系统搭建
    proxool
    Shell实现跳板机,为什么用跳板机
    JUC回顾之-ThreadPoolExecutor的原理和使用
    java集合之ArrayList的实现原理
    JMeter性能测试介绍学习一
    基础知识《十三》深入浅出Java回调机制
    怎样将myeclipse里默认编码设置成utf-8
    《转》怎样看待比自己强的人
  • 原文地址:https://www.cnblogs.com/kdkler/p/2030075.html
Copyright © 2011-2022 走看看