之前学过几个关键词:公共、抽象、扩展、实现、接口。今天,我将介绍静态final。静电从字面上看,很好理解。静电是帽子,看谁戴。不会被修改/只读/只有一个副本,静态static后跟以下
之前学过几个关键词:公共、抽象、扩展、实现、接口。今天,我将介绍静态final。
静电从字面上看,很好理解。静电是帽子,看谁戴。
不会被修改/只读/只有一个副本,静态
static后跟以下四个
–变量静态int a
–方法static void(){} static int(){}
–类静态类
–匿名方法块{}
可以在这个类中调用Static而不需要新的对象,并且可以用类名点操作符直接调用它。
在静态方法中,只能使用静态变量,不能使用非静态变量
//静态代码块static{ }
静态块–该代码在程序运行期间只运行一次。–执行顺序:静态块>:匿名块>:构造函数。
静态变量:不管有多少新对象,内存中只有的一个副本在堆栈内存中。
最后的
由于Java中没有常量,所以使用final关键字来修饰常量。静态最终
最终类:没有子类继承
––final方法:不能被子类覆盖。
––final变量:基本类型不能修改值,对象类型不能修改指针。
Final不能用两个意思修改,见图片代码评论。
最终对象不能是新的,因为新对象需要在堆内存中打开一个空空间。
常数存储库
Java中的常数
–公共静态最终
–建议变量名全部大写,并用连字符连接,如OIL_CAR。
特殊常量:默认情况下,接口中定义的变量是常量。
这次考试!
图中第一个兄弟是真的,其他都是假的。
了解栈空和堆空。
常量(字面量)通过赋值创建,放入堆栈内存(会频繁量化)。
创建新对象,并将其放入堆内存中(不会频繁量化)。
常量池:只存储同一个值的一个副本,节省内存,共享访问(多个指针指向一个地址内容)。
Java是一个包装类(8个基本变量,除了float和double)
字符串都建立一个常量池
同学,看这里,不是上面,面试考试。
看到这里你应该会做上面的题吧?比较对象的大小以及指针是否指向同一个东西
字符串不可变对象
使用以下方法修改
StringBuffer(同步、线程安全、快速修改),
StringBuilder(不同步、不安全的线程、更快的修改)
字符串内容比较:equals方法