在静态方法中,只能使用静态变量,不能使用非静态变量//静态代码块static{ }static块 –在程序运行期间,这段代码只运行一次。
–执行顺序:static块 > 匿名块 > 构造函数。
static变量:不管new多少个对象,内存中只有一份在栈内存中。
final由于Java里面没有constant(不变量),用final 关键字修饰常量。
static finalfinal类:没有子类继承–final方法:不能被子类改写–final变量:基本类型不能修改值,对象类型不能修改指针final不能修改有两个含义,见图片代码注释。
final的对象不能new ,因为new一个对象,需要在堆内存开辟一个空间。
常量池Java中的常量–public static final–建议变量名字全大写,以连字符相连,如OIL_CAR一种特殊的常量:接口内定义的变量默认是常量这题会考!图片中第一哥是true, 其他是false.了解 栈空间,和堆空间。
常量式(字面量)赋值创建,放在栈内存 (将被常量化)new对象进行创建,放在堆内存 (不会常量化)常量池:相同的值只存储一份,节省内存,共享访问(多个指针指向一个地址内容)Java为包装类(8个基本变量除了float和double)字符串都建立常量池同学,看这里不是看上面,面试会考看到这里你应该会做上面那题了吧,比较对象大小,比较指针是否指向同一个东西字符串String 不可变对象修改用下面的方法StringBuffer(同步,线程安全,修改快速),StringBuilder(不同步,线程不安全,修改更快)字符串内容比较:equals方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)