java中的final、static关键字

继承弊端:打破了封装性。

final关键字:

1、final是一个修饰符,可以修饰类,方法,变量。

2、final修饰的类不可以被继承。

3、final修饰的方法不可以被覆盖。

4‘final修饰的变量是一个变量,只能赋值一次。

    为什么要用final修饰变量,其实在程序中如果一个数据是固定的,那么直接使用这个数据就可以了,但是这样阅读性差,所以他给这个数据取个名称,而且这个变量名称的值不能变化,所以加上final固定。

    写作规范:常量所有字母都大写,多个单词的话中间用_连接。

static的特点:

1、static是一个修饰符,用于修饰成员。

1、static修饰的成员被所有的对象共享。

3、static优先于对象存在,因为static的成员随着类的加载就已经存在了。

4、static修饰的成员多了一种调试方式,可以直接被类名所调用,类名.静态成员。

5、static修饰的数据是共享数据,对象中存储的是特有数据。

成员变量和静态变量的区别:

1、成员变量随着对象的创建而存在,随着对象的消失而被回收释放,静态变量随着类的加载而存在,随着类的消失而消失,所以两者的生命周期不同。

2、调用方式不同,成员变量只能被对象所调用,静态变量可以被对象所调用,还可以被类名调用。

3、别名不同,成员变量也称实例变量,静态变量称为类变量。

4、数据存储位置不同,成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。静态变量数据存储在方法区(的静态区),所以也叫对象的共享数据。

静态使用的注意事项:

1、静态方法只能访问静态成员(非静态既可访问静态也可访问非静态)。

2、静态方法中不可以使用super或者this关键字。

3、主函数是静态的。


你可能感兴趣的:(java中的final、static关键字)