成员变量和局部变量的区别
java的基本数据类型:整数类型:int(四个字节),byte(一个字节{-128~127}),long(八个字节),short(两个字节)
浮点型: float(四个字节,精确小数点7位),double(八个字节精确小数点16位)
字符型: char 布尔型:boolean
引用数据类型:类,接口,数组
唯一的三目运算符 int max = num1>num2?num1:num2;
运算符的优先级别:单目>算术>关系>逻辑>条件>赋值
栈和堆的内存分析:栈:只存放基本数据类型局部变量 ;先进后厨,自下而上存储;方法执行完毕之后,自动释放空间
堆:存放new出来的对象,使用完毕之后,需要gcc来回收
static (单列设计模式):1,修饰成员变量:前提:每个对象都有属于自己的一套成员变量,但是static修饰的成员变量是属于 类的,并且 static修饰的变量存放在共享区中,所以被他修饰的变量不可改变,以及可以直接被类调用
2,修饰方法:则该方法成为静态方法,静态方法可以直接用类名调用,不用new,
但是只能使用静态变量,不能使用非静态成员变量,并且不能调用非静态方法,都是因为没有对象
3,修饰代码块:静态代码块,当系统成功将一个代码块加载到内存中,系统会自动调用静态代码块优先执行,
用于初始化类的类的静态变量(在类中会第一先执行)
4,可以修饰类:静态类部类
单列设计模式如图:在类被加载的第一次的时候,dog=null 创建一个对象,此后dog引用不等于null;所以一直是这个对象