![](https://csdnimg.cn/release/download_crawler_static/88770384/bg3.jpg)
2. 对象名.静态方法
静态块
Static{
}
构造方法是给对象进行初始化的,静态块是给类初始化的
静态块中不能直接调用非静态属性和非静态方法,可以直接调用静态属性和静态方法
13. 单例设计模式(目标:子一个类外部只有一个对象)
懒汉式
Public class Single{
private static Single single = null;
private Single(){}
public static Single getSingle(){
if(single == null){
single = new Single();
}
return single;
}
}
}
//饿汉式
public class Singlen {
private static Singlen singlen = new Singlen();
private Singlen(){}
public static Singlen getSinglen() {
return singlen;
}
14. 为什么普通对象打印的是地址,而字符串打印的是内容?
普通对象调用的是 Object 的 toString 方法会将完整的包名+类名+@+手机六进制的
地址打印在控制台上 String 重写了 Object 的 toString 方法,会将字符串转化为字符数组,
再将字符数组输出到控制台上,所以打印的是内容
15. 一个创建了多少个 String 对象,为什么?
//下列六个创建了几个对象 7 个
String s1 = "hello";//1
String s2 = new String(); //1
String s3 = new String("hello");//1
String s4 = new String("hel1o");//2
String s5 = new String("hello world");//2
String s6 = "hello world";//0
String s7 = "q" +"w"+"e"+"r"+"d"+"f";//相当于 String s7 = "qwerdf";
String s8 = "a" +"b"+"c"+"d"+"e"+"f";//相当于 String s8 = "abcdef";
//创建了两个对象,编译器优化