- class StaticTest2
- {
- int num = 4;
-
- //非静态方法编译器会隐式地把它变成show(StaticTest2 this)
- //也就是说非静态方法一定要与对象相关联。即对象调用非静态方法。
- void show()
- {
- System.out.println(num);
- }
- public static void main(String[] args)
- { //由于主方法是静态的,直接加载进内存,就没有产生对象,
- //要调用非静态方法就一定有了该类的实例,就要创建对象。
- //show();
- new StaticTest2().show();//
- }
- }
复制代码 静态方法可以看作是类的方法,而非静态成员可以看作是对象的方法或变量
只有当创建了某个对象的时候才能够使用,静态方法可以通过类名来直接调用。
|