- static静态修饰符(使用static修饰符修饰的成员变量、常量、和成员方法成为静态变量、常量和方法,他们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享,只要这个类被加载,JVM就可以根据类名在运行时数据区的方法区找到他们)
- 静态变量
对于静态变量,运行时,JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。在类的内部,可以在任何方法内直接访问静态变量;在其他类中,可以通过类名访问该类中的静态变量。
静态变量可以被类的所有实例共享,因此静态变量可以作为实例之间的共享数据,增加实例之间的交互性。
如果类中所有实例都有一个相同的常量属性,则可以把这个属性定义为静态变量。例如:
static double PI=3.1415;
2.静态方法
静态方法不需要通过它所属的类的任何实例就可以被调用,因此在静态方法中不能使用this关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法,另,和this一样,super也与类的特定实例有关,所以在静态方法中也不能使用。
- final修饰符(有无法改变或终态的含义,他可以修饰非抽象类、非抽象类成员方法和变量)
1.final类
将类声明为final,即表示该类是无法呗任何其他类继承的,没有子类。final类中的方法默认是final方法。
2.final方法
将方法声明为final,表明该方法不需要在进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但可以被继承。在声明类中,一个final方法只被实现一次。
3.final变量
用fina修饰的成员变量表示常量,值一旦给定就无法改变。
4.final参数
当方法参数为final类型时,则只可以获取该参数的值,而无法对其进行改变。
- this关键字
可用于任何实例方法中,指向当前对象,也可指向对其调用当前方法的对象或在需要当前类类型的对象引用时使用;当一个类的属性(成员变量)名与访问改属性的方法参数名相同时,则需要使用this关键字来访问类中的属性,已区分类的属性和方法中的参数。
补充:
类方法:也叫静态方法 用static修饰 它可以直接用类名调用 也可以通过对象调用;而且一个类中的类方法只能调用该类中的其它类方法和类变量,不能调用实例方法和实例变量
实例方法:也就是不用static修饰的方法 它只能通过对象调用; 而且一个类中的实例方法既可以调用该类中的其他类方法和类变量,也可以调用实例方法和实例变量