-
慕雪5558698
无语了,前三楼是没仔细读清题就瞎回答...
-
十三灬叔
这是因为jvm加载java文件顺序的问题。先加载静态变量,静态方法,静态代码块。然后才加载变量,非静态方法。所以在静态方法中如果调用非静态方法或者静态变量,非静态的变量和方法还没有被jvm加载,所以会报编译错误。
-
不斯文败类
首先要理解面向对象,搞清楚什么是“类”,什么是“对象”。静态变量又叫类变量,静态方法又叫类方法。为什么这么叫,因为他们是属于类的,而不是类的对象的。拿类变量来说:public class Test { private int a =5; public static int b = a;}在部署类的时候就已经生成类变量(此处的b)了,而实例变量(即非static修饰,此处的a)需要在当前类实例化(即生成对象,编程初期可以简单理解为new)的时候才会生成。也就是说,当你程序跑起来的时候,即使从运行到结束都没用过Test类,变量b都存在,而变量a需要等到new Test()的时候才会存在。已经存在的东西去访问未存在的东西,这显然是不合理的。所以不允许。再深层一点,还可以探索到类变量和实例变量在内存中存储的关系,当然这是如何理解static的问题,不是static能否访问非static的问题,就不说了。
-
慕田峪6141110
XTTWSORRNAKTMZPSPLQTNMMYILMSSWPZCRTWOYUXEEUYQRHLEUQDDEATTIPHDNWPMTXJQZMMLIIYTPYKCSCWCYVPKMCJGTPYBCDQMITUHOYBYLGJLFZFJAZAJTVZWPVIKDIHACLLLCMFZWGSUGRLTPAQNXIEGGNXJGWKKGYDHAVOBQYRQJFZWBXUXDDFENQGDZSPJMDJICMCFLYEEPVHKHQWXGNBCZPXQXRXDNNWZFYUULYBHHLXKYHRUERBOCUCZPFATMJQMWVMACMFLZCIAJDGKGMZWZXJMFFVJSSTZPIRXHDJSCPVLTTMMCMWQJJJRKANGCJPGCHQZZFYYRLLRASCSTZQJWJAQWTMIOOOXLOLKTOEXEDMTRUQZCFVTGWTJCFKUDKDJJMQEUNIVSZIVSSOUNQTEHJZGGOQJMSSLHNRUHNOCYLROEYIAGSCANTGSZZOATZFWFTCLOSIUXRUZCTZPXTSKGMQQWOVCOJJGJTXGUAAJSYEPBERDJZRHXXAUQGHTZZCMMJFWRIFRTKRVYIIIVYEHQXHKQFLJTOGJYHOLHRANSKXUASVYVJGFSSJJSCPZWTUWZMWGPTGVSHQBBEWCIPTQVBLIICJZNDMJVOVHKYOEJAUGVILZNTQTQNDMXUPFOSCPBHQSOLBIOTNEHOOVSWSPNLEATKQDNTAEUIGZMGQHEKFINADAAUIIYFIIBKSYDGGAFZZTWHETSTQANPBXCSFVPMZEOATGQQQVLIFZLOFSSKHAWQBDQDUBXQPWXFYKHRRBOEQGKWPQZWMJFROEKDUEOVZICSLDQDNKDOELYEATXGDWYKIYPBOZWJMWWTTVCDQTNIOYSBOUQHXKBZJATSLOVBFBQKCPMOCPBICWWZZ
-
慕妹5461943
AAAXUHTJAZTTDKNAXUCDNYSFKBHLPISOZZGJKAMJGBVNKWWGWITSWZCCGTLKJPCHBJZIFROLVHDQKDPQAREEYKAUIZZSZQYFVWCFGCWQTKRKRDAEKUDANBOZGQQNUDKFVELOEIERUYBLOVFFCVVRVGATGXEDNJJTQPSAGNAKWYPWPSWZZCTWQIYZMJNGAXMWQCMERARCTDAWNJPJMZFNDLLWQCIJRCCCWTQDSLRYCUEZWLSJZRHUXZSJTGWWEGMPTMQARYLTJCRLLEBAEIPSQCICVOLSCCWWUHWDEFJTDUDHHLKXRUOTGEAYUSWHVYJXEFQUTFVVMFSZZJWADFIVWAWDAPZZZEEKHKIPMNUALAGDKXPPZQJTRUUSVARLFDXDDAAALOZBOOLLUVVBIKAGCZQZQCFTAEELKBRAVYUBOZZNKHVDNJZKLSBRNYOZMILURCZPJQTGFSLSBCPJGVSIXXFBFMPDFJWAPLSSTDRLYTJTLERORUOYVRFQQGPVPMCSFMMTUAJHERXDAYLOEAASFZSMJTJGUUAQKNEJKBKRHXTJCNUXYSIFOSYURSXBUYIOGCSSLTWGQQQGMIXHAUNTQXEKLEERTPCIJGNQFTKNAXEVWWJNMDQMXKRRKLBDIIVJWQTTWDRUXDVSTHZVCDGQMSWARBANAHMWDPCNSMCYSWPTBVYRBEPDZXWKFBCWZTESSPVZWIPKXADRULRCRLQDQUKANEOHGJMKHBEOKBLSKJEXPWZVPJGSONUQTGFPAEBQXPWZZVFMVZGWNGTWWDANSMGFKTLHEAWUAUHSYRBAQTDDDQJJHDZPTQUHRBSBTOOVEOEDUNKQCBZPZNMSYZJZNTAMQQGJJHNXKUDIYFOHHULAIXXNKDZSPSSPQWQEHVBPVPFVVRHUAQGPJMMCEDAAIOUAUHRVQFNUEQAZZNDLEOHSBYKGKEUVLNQYSIBLBZMI
-
hello_world_mk
public class StaticTest {
public static void main(String[] args) {
}
static void test(){
new StaticTest().test1();
}
void test1(){
test();
}
}不能直接调用
-
我不会你还让我
非静态方法可以调用该类的静态方法和静态变量;静态方法不能调用该类的非静态方法和非静态变量