之前学过几个关键词公共、抽象、扩展、实现、接口,今天就介绍静态final。
static
字面意思很容易理解。静电是一顶帽子。看谁把它戴在头上。
不能修改/只读/只有一个副本,静态
static接下面四种
变量静态int a
method static void(){ } static pint(){ }
类静态类
匿名方法块{}。
静态可以在这个没有新对象的类中调用,直接由类名点运算符调用。
在静态方法中,只能使用静态变量,不能使用非静态变量
//静态代码块
静电
{
}
静态块该代码在程序运行期间只运行一次。执行顺序:静态块匿名块构造器。
static变量:不管new多少个对象,内存中只有一份在堆栈内存中。
final
因为Java中没有常量,所以用final关键字来修饰常量。静态决赛
最终类:没有子类继承
-final方法:不能被子类覆盖
-final变量:基本类型不能修改值,对象类型不能修改指针。
Final不可修改,有两层含义。参见图片代码注释。
最终对象不能是新的,因为new是一个需要在堆内存中打开空间的对象。
常量池
Java中的常数
公共静态决赛
建议变量名全部大写并用连字符连接,如OIL_CAR。
一个特殊的常量:默认情况下,接口中定义的变量是常量。
这次考试!
图中第一个哥哥是真的,其他的都是假的。
了解 栈空间,和堆空间。
常量(文字)赋值被创建并放置在堆栈内存中(不断被量化)
新对象并将其放入堆内存中(不总是量化)
常量池:只存储相同值的一个副本,这样可以节省内存并共享访问(多个指针指向一个地址)
Java为包装类(8个基本变量除了float和double)
字符串都建立常量池
同学,看这里,不是上面,为了面试考试。
你应该能在这里做上面的问题,比较对象大小,比较指针是否指向同一个东西.
字符串String 不可变对象
使用以下方法进行修改。
StringBuffer(同步、线程安全、快速修改),
StringBuilder(不同步、不安全的线程、更快的修改)
字符串内容比较:等于方法