程序如下
package aop;
public class HelloAOP{
 public void callMe(){
        System.out.println("AOP!");
        }
 public static void main(String[] args){
  aop.HelloAOP.callMe();
  }
}
问题:使用ECLIPSE,输入后出现错误,说无法解析 "callMe()"
当我吧callMe函数前的public关键字 换为static 错误就消失了
原因是什么?

解决方案 »

  1.   

    静态的不用new一个类的实例去掉用,
    加入用public的话,新建一个实例,再调用
    HelloAOP helloAOP = new HelloAOP();
            helloAOP.callMe();
      

  2.   

    加了static表示是类成员,调用时直接通过类名调用与对象无关
      

  3.   

    你可以这样理解.凡是带有static标识的方法或变量或常量,都会先于所在的类对象存在而存在.即带有static标识的财产是属于整个家族(类)的,而不属于单独的家族中的某个人(类对象).