黑马程序员技术交流社区

标题: 新人求教:看代码帮忙分析问题:static的用法求教! [打印本页]

作者: py389172739    时间: 2016-4-6 10:47
标题: 新人求教:看代码帮忙分析问题:static的用法求教!
import java.util.*;
class  systemdemo01
{
        public static void main(String[] args)
        {
                System.out.println("Hello World!");
                propertest();
        }

        public  void propertest()
        {
                System.setProperty("ABABABABABABABABA","这里当然是属性的值了");

               
                /*获取java加载时的系统属性*/
        System.out.println("------------*获取java加载时的系统属性*---------");

                Properties pro = System.getProperties();//备注:Properties属于hashtable的子类,hashtable属于map的子类,故可以用获取map集合元素的方法获取Properties中的元素
                for(Object value : pro.keySet())
                {
                        String str=(String)value;
                        System.out.println(str+"="+pro.get(str));
                }

                /*获取java加载时指定的属性信息*/
           System.out.println("------------*获取java加载时指定的属性*---------");
       String name=System.getProperty("user.name");
           System.out.println(name);
      
           /*设置java加载时显示自己设置的系统属性*/
       System.setProperty("ABABABABABABABABA","这里当然是属性的值了");
           //String key = System.getProperty("ABABABABABABABABA");
       System.out.println("ABABABABABABABABA="+System.getProperty("ABABABABABABABABA"));
        }
}


如果我在propertest()函数前面不加static的话,编译显示:
无法在静态上下文中引用非静态方法propertest()
加上static后就可以编译并且运行了,请问这个地方为什么一定要加static呢?
什么情况下一定要用到static呢?对这个关键字的用法不是很理解,求大神指导!





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