java基础名词解析(一)带你从根上了解static,final关键字

网友投稿 554 2022-05-30

static

static:可以在没有建立对象时候使用。

1.修饰变量:是全局变量,在类加载之后放于方法区,只在初始化时加载一次,且全局共享。如果不赋初值就默认为0.

java基础名词解析(一)带你从根上了解static,final关键字

2.修改方法:静态方法不能调用非静态的变量和方法(因为非静态的方法和变量需要对象来调用,但是不可能使用),非静态方法能够使用静态方法,使用“类名.方法”调用,而不能用对象调用。因为this也是通过对象调用,所有不能使用this。可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。

2.1为什么要使用静态方法

静态方法的好处就是不用生成类的实例就可以直接调用。

static方法修饰的成员不再属于某个对象,而是属于它所在的类。只需要通过其类名就可以访问,不需要再消耗资源反复创建对象。

在类第一次加载的时候,static就已经在内存中了,直到程序结束后,该内存才会释放。

如果不是static修饰的成员函数,在使用完之后就会立即被JVM回收。

什么时候使用static?

如果这个方法是作为一个工具来使用的,就声明为static,不需要new一个对象就可以使用。比如:connect DB就可以声明一个Connection()的static方法,

3.修饰类:只有一种情况,静态内部类。

特点:1.内部类只能访问外部类静态的变量和方法。

2.静态内部类能声名普通的变量和方法,而普通内部类不能声名静态方法和变量。

使用场景:静态内部类使用场景一般是当外部类需要使用内部类,而内部类无需外部类资源,并且内部类可以单独创建的时候。

4.修饰代码块:可以优化性能,在类加载时调用。且只调用一次。(加载顺序 父类的静态代码块-子类的静态代码块-父类的构造方法-子类的构造方法),静态语句块中只能访问定义在静态语句块之前的变量,定义在它之后的变量可以赋值,但不能访问

final

final主要的作用就是防止修饰的对象改变。

1.修饰变量:不允许变量改变。

2.修饰方法:防止继承的重写改变该方法。

3.修饰类:不允许继承该类。防止被重写。

C++ Java

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:性能分析之公有云网络带宽导致 TPS 低 RT 高
下一篇:Google Earth Engine(python)——简化版的快速接入GEE的API(含案例分析)
相关文章