一:JAVA开发步骤
二:Java基本语法
三:Java基础知识
四:程序流程控制
五:数组
六:方法的相关知识
八:面向对象
九:String字符串
十:没有十
十一:Static静态关键字
十一:Static静态关键字
1.修饰成员变量及其内存机制
static是什么
简而言之:比如161这个信息,对所有对象都要可见,但我们同时希望它在内存中只存一份就好,此时就用static
成员变量可以分成哪两类
内存机制
时间1:
后面在栈内存区加载main区域,开始一条条执行
时间2:
时间3:
2.修饰成员方法及其内存机制
内存机制:
3.Static注意事项
4.工具类
将构造器私有,就不能在外面创建对象。
案例:数组工具
package practice;
public class ArrayUtil {
//目标: 创建工具类,实现输入一串数组,输出数组内容
/**
* 构造器私有化,使外面无法定义对象
*/
private ArrayUtil(){
}
/**
* 定义工具方法;静态方法
*/
public static String toString(int[] arr){
if(arr==null){
return null;
}else{
System.out.print("[");
String m="";
for (int i = 0; i < arr.length; i++) {
m+=i<arr.length-1?arr[i]+",":arr[i];
}
m+="]";
System.out.println(m);
return m;
}
}
}
5.代码块
静态代码块:
注意:静态代码块和类一起加载,所以它比main方法快。
例如:
代码块作用:
案例:
代码:
构造代码块:
注意:先触发构造代码块,再触发构造器
注意:构造代码块在初始化实例资源时,它所有对象调用的name都是一个值。
6.单例模式
饿汉单例
即通过它拿的对象永远是同一个对象
return true;
懒汉单例