Java核心技术(初阶)知识点复习——[8]常量设计和常量池
2021-02-12 04:16
标签:除了 string 安全 div stat ima 机制 class char 1.常量 java中自己定义的“一个”“不会”修改的变量:public,static,final; 建议变量名字全大写,并以“_”链接; 注:接口中定义的变量都默认为常量,回顾一下“契约精神”,如: 2.常量池 [1]Java为很多基本类型的包装类/字符串都建立常量池,基本类型除了floar和double都封装成了包装类,在内存中有缓存; [2]包括:boolean→Boolean; byte→Byte;char→Character;\u000~\u007f int→Integer;short→Short;long→Long;-128~127;注意:超过了常量池存储范围时,就不存在缓存了; 常量字符串都建立常量池缓存机制,同时,存在常量字符串存储的自动优化; 基本类型自动装箱和拆箱机制,String没有; [3]常量化创建方法 1~2行是字面量(常量式)赋值创建,存储在栈内存,即被常量化; 3~4行是对象形式创建,存储在堆内存,不会被常量化; 3.String是一种典型的不可变对象 [1]故String类型不可直接修改,因为每次修改都重新申请了一块内存,故效率差; [2]只可以使用StringBuffer和StringBulider类的append方法进行原地址修改; StringBuffer线程安全但速度小于StringBulider Java核心技术(初阶)知识点复习——[8]常量设计和常量池 标签:除了 string 安全 div stat ima 机制 class char 原文地址:https://www.cnblogs.com/li7anStrugglePath/p/12732932.html1 public interface SpecialAnimal{
2 String color = "yellow";//默认为:public static final String color = "RED"
3 public void move();
4 }
1 public class Cat implements SpecialAnimal{
2 public void move(){
3 System.out.println("I can move")//这里回顾下,实现一个接口必须实现所有的方法
4 }
5
6 public static void main(String[] args){
7 Cat cat = new Cat();
8 cat.color = "white";//报错,因为color默认为常量啦,(认为都是黄猫)
9 }
10 }
1 Integer a = 10;
2 String b = "abc";
3 ******************************
4 Integer c = new Integer(10);
5 String d = new String("abc");
文章标题:Java核心技术(初阶)知识点复习——[8]常量设计和常量池
文章链接:http://soscw.com/index.php/essay/54292.html