public MyClass {
public static void staticMeth() {
...//在这里你不能调用this这个变量,你不能访问其它的非static的方法(如:nostaticMeth)
}
public void nostaticMeth() {
...//在这里你可以调用this这个变量,可以访问其它的非static的方法,同时也能访问staticMeth这个方法
}
}
public static void staticMeth() {
...//在这里你不能调用this这个变量,你不能访问其它的非static的方法(如:nostaticMeth)
}
public void nostaticMeth() {
...//在这里你可以调用this这个变量,可以访问其它的非static的方法,同时也能访问staticMeth这个方法
}
}
静态意味着在程序没有开始活动之前就已经创建并且可用,而且保持到程序的结束,动态意味着在程序活动当中被创建,在程序退出之前,动态的东西有可能已经被删除。
下面的图就是这两种东西的生命周期,从上往下的箭头有可能没有东西接得住,从下往上的却可以确保有东西接住。Static <============================================================>
| A |
| | |
| | |
Non Static | <-----> | <----> <--------->
| |
X X
¦ A ¦
¦ ¦ ¦
¦ ¦ ¦
¦ <----> ¦ <----> <--------->
¦ ¦
X X
+ A +
+ + +
+ + +
Non Static + <-----> + <----> <--------->
+ +
X X