目录
1. static关键字
1.1 类变量、类方法
/**
* static关键字
* 类变量不用实例化,直接类名.属性名就可以使用,是类的一部分,被所有这个类的实例化所共享,也可以叫做静态变量
* 如果想让一个类的所有实例共享数据,就用类变量!
*
* 实列变量,只是实例化后才能使用,属于实例化对象的一部分,不能公用
*
* 使用范围
* 可用static修饰属性、方法、代码块、内部类
* 被修饰后的成员具备以下特点
* 1.随着类的加载而加载(类加载后,静态方法或属性就可以使用了,类名.方法名)
* 2.优先于对象存在,不用new就可以使用
* 3.修饰的成员被所有对象所共享
* 4.访问权限允许时,可不创建对象,直接被类调用
*
* 注意:
* 类变量,这种可以被所有实例化对象所共享的属性,使用起来要慎重,因为只要一改,所有类都能得到变化
*
* 类方法:作为工具类的情况较多
* static方法内部不能有this(也不能有super),因为this是针对对象的,static是类的,重载方法的方法需要同时为static或非static
*/
1.2 工具类
静态方法
//判断字符串是否为空或null
public class Utils {
public static boolean isEmpty(String s) {
boolean flag = false;
if (s ==null && s.equals("")){
flag = true;
}
return flag;
}
}
//调用工具类
Utils.isEmpty("test")
1.3 单例 (Singleton)设计模式
懒汉式单例设计模式
public class Single1 {
private Single1() {}
/**
* 懒汉式实例:第一次创建实例前为null,第一次创建实例后,创建,后面的都是同一个实例
*/
//私有的类变量,为null;
private static Single1 s1 = null;
//公共的方法,如果s1为null,就创建实例,后面的就不用创建了
public static Single1 getInstance() {
if(s1 == null) {
s1 = new Single1();
}
return s1;
}
}
饿汉式单例设计模式
public class Single {
/**
* 单例设计模式:
* 设计模式:就是在我们实际编程过程中,逐渐总结出的一些解决问题的套路
* 单例设计模式:只有一个实例(实例化对象)在整个软件系统运行过程中,这个类只被实例化一次,以后无论在哪都只调用这一个实例
*/
//饿汉式
//私有的构造方法
private Single() {
}
//私有的类变量,创建实例
private static Single s = new Single();
//公共的方法,返回私有的类变量
public static Single getInstance() {
return s;
}
}
懒汉式和饿汉式的区别
/**
* 懒汉式和饿汉式的区别:
* 就是什么时候new这个对象,懒汉式,是在第一次有人调用getlnstance方法时类new对象,
* 以后再有人调用getinstance方法直接就返回第一次new好的对象
*
* 饿汉式,是在类加载之后,还没有人调用的时候,就new好一个对象,以后无论谁来调用
* getinstance方法都直接返回直接new好的那个对象
*/
1.4 main方法
/**
* main方法
* public static void main(String[] args) {}
* 由于java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public,
* 又因为java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static的,
* 该方法接收一个String类型的数组参数,
* 该数组中保存执行java命令时传递给所运行的类的参数
*/