关于JAVA中static的一个问题 因为main是静态的 如果你rand定义不是静态的 那么让main访问的时候从那个实例里面取出rand呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java规定类中的静态方法只能使用其外部的静态成员。主函数是static的,所以要用静态外部实例。原因:举个例子,假设不使用static也成立class example{ static String s1; String s2; static void test(){ s1="static"; s2="not static"; }}如果上面是合法的,由于test函数是静态的,那么你就可以在程序中直接使用example.test()。这样做就会导致矛盾,example类还没有实例化就在静态方法中使用了非静态的变量s2。 如果不是static的方法或者属性那么这些方法和属性是属于定义他们的类的根据类的定义,访问类的属性和方法必须通过类的实例来调用即st=new example();这时可以访问st的属性和方法:st.s="1234";st.storage();而根据static的感念,定义为static的属性和方法是独立于类的,所以可以直接调用。其实也可以将static main()看作是个独立于类的方法,如果想不通过类而直接访问变量或方法的话,就必须将这些变量或方法定义为static。 java调用SDK,完成抓图功能,大虾帮忙啊~! java线程的问题 新手问题,请高手给我解释下,谢谢了!! 如何尽快提高java水平? 请问如何在java应用程序里访问url 我要学习JSP,请高手提点建议,看什么书好(最好是经典的) 求助,这个为啥会输出-10 Java Swing JTable 如何做到动态灰化 高手请帮忙,怎样使用磁盘阵列卡? 怎样将扩展名为jar的文件加入到applet中? 怎样让一台机器通过 另一台拨号上网的机器来上网呀!!!!!(求斑竹别删,急呀!!) 关与从数据库提取数据的问题!!急!!!!!!!!!!!!!!
原因:举个例子,假设不使用static也成立
class example{
static String s1;
String s2;
static void test(){
s1="static";
s2="not static";
}
}
如果上面是合法的,由于test函数是静态的,那么你就可以在程序中直接使用example.test()。
这样做就会导致矛盾,example类还没有实例化就在静态方法中使用了非静态的变量s2。
那么这些方法和属性是属于定义他们的类的
根据类的定义,访问类的属性和方法必须通过类的实例来调用
即
st=new example();
这时可以访问st的属性和方法:
st.s="1234";
st.storage();而根据static的感念,定义为static的属性和方法是独立于类的,所以可以直接调用。其实也可以将static main()看作是个独立于类的方法,如果想不通过类而直接访问变量或方法的话,就必须将这些变量或方法定义为static。