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

举报
小鲍侃java 发表于 2021/09/10 00:54:48 2021/09/10
【摘要】 static static:可以在没有建立对象时候使用。 1.修饰变量:是全局变量,在类加载之后放于方法区,只在初始化时加载一次,且全局共享。如果不赋初值就默认为0. 2.修改方法:静态方法不能调用非静...

static

static:可以在没有建立对象时候使用。
1.修饰变量:是全局变量,在类加载之后放于方法区,只在初始化时加载一次,且全局共享。如果不赋初值就默认为0.
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.修饰类:不允许继承该类。防止被重写。

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/82798519

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。