小樱知识 > 生活常识简述static和final的区别(java八大基本数据类型)

简述static和final的区别(java八大基本数据类型)

提问时间:2022-03-16 11:31:31来源:小樱知识网


之前学习了几个关键字public,abstract, extends, implements, interface, 今天介绍static(静态的)final(最终的)

static

从字面上意思很好理解,静态的,static 是一顶帽子,看戴在谁头上,

不会修改/只读/只要一份,static

static接下面四种

–变量 static int a

–方法 static void(){} static int(){}

–类 static class

–匿名方法块 {}

静态的不需要new对象就能在这个类中调用,直接用类名点操作符调用。

在静态方法中,只能使用静态变量,不能使用非静态变量

//静态代码块static{     }

static块 –在程序运行期间,这段代码只运行一次。 –执行顺序:static块 > 匿名块 > 构造函数。

static变量:不管new多少个对象,内存中只有一份在栈内存中。

final

由于Java里面没有constant(不变量),用final 关键字修饰常量。static final

final类:没有子类继承

–final方法:不能被子类改写

–final变量:基本类型不能修改值,对象类型不能修改指针

final不能修改有两个含义,见图片代码注释。

final的对象不能new ,因为new一个对象,需要在堆内存开辟一个空间。

常量池

Java中的常量

–public static final

–建议变量名字全大写,以连字符相连,如OIL_CAR

一种特殊的常量:接口内定义的变量默认是常量

这题会考!

图片中第一哥是true, 其他是false.

了解 栈空间,和堆空间。

常量式(字面量)赋值创建,放在栈内存 (将被常量化)

new对象进行创建,放在堆内存 (不会常量化)

常量池:相同的值只存储一份,节省内存,共享访问(多个指针指向一个地址内容)

Java为包装类(8个基本变量除了float和double)

字符串都建立常量池

同学,看这里不是看上面,面试会考

看到这里你应该会做上面那题了吧,比较对象大小,比较指针是否指向同一个东西

字符串String 不可变对象

修改用下面的方法

StringBuffer(同步,线程安全,修改快速),

StringBuilder(不同步,线程不安全,修改更快)

字符串内容比较:equals方法

以上内容就是为大家推荐的简述static和final的区别(java八大基本数据类型)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:简述static和final的区别(java八大基本数据类型)

本文地址:https://www.xiaoyin02.com/shcs/114910.html

相关文章