主要想说下static函数,static既可以修饰 成员变量也可以修饰方法,我觉得在修饰方法的时候更多的是为了让习惯了使用c语言的用户方便使用,因为我们在用c时,经常会直接调用 函数,而不像java 这些面对对象的语言,总是要实现一个对象,让这个对象来做各种事情,所以当我们才开始使用java时,经常会用到static函数,它是在编译的时候直接运行,而不用new一个对象。
如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
声明为static的方法有以下几条限制:
◆它们仅能调用其他的static 方法。◆它们只能访问static数据,即不能引用非静态变量。
◆它们不能以任何方式引用this 或super
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为 static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
◆static i
◆可以用类名或者对象名调用
◆无论是对象还是类名修改i,意味着再调用i时候,它已经全部改变,因为i只此一份,谁都可以改动