楼主,还是去google下java static 关键字用法吧

解决方案 »

  1.   

    静态方法只能调用静态修饰符修饰的方法或者属性等、实例方法能调用静态方法和实例方法。
    “如果要是能修改成运行后报错显示Person p = new Persong90是非静态的不能调用”这个没办法,不能调用编译期就会提示你。
      

  2.   

    这是通过实例化的对象来调用,是不一样的;
    调用静态方法;
    public static void main(String[] args)
    {
    Person p = new Person();
    p.setage(20);
    p.speak();
    print();
    }
    public static void print()
    {
    System.out.println("测试");
    }
      

  3.   

    static属性和方法虽然属于类本身,虽然可以通过类名的方式访问,但是static属性和方法很明显也属于类对象,当然也可以通过类对象名的方式访问Static的函数不能调用非static的函数和属性变量。http://blog.csdn.net/u012421456/article/details/36410437
      

  4.   

    main方法里不让new 程序还怎么运行
    Person是类,如果你在Person里写main方法,就不能直接写
    ..main(...){
      setAge(20);
    }
    但仍然可以写 Person p=new Person