学习Java的第七天
static关键字
- 可以修饰属性 方法 代码块 局部类
- 生命周期随着类的产生而产生 可以被类调用 所以又叫类方法
- static方法只可以访问static方法 不可以访问非静态的属性和方法
- 一般情况下 如果一个方法操作静态属性就用static方法
- 一个属性被多个对象所共用 就考虑使用static修饰
单例设计模式
某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。
单例设计模式之-饿汉式
class Singleton { // 1.私有化构造器 private Singleton() { } // 2.内部提供一个当前类的实例 // 3.此实例也必须静态化 private static Singleton single = new Singleton(); // 4.提供公共的静态的方法,返回当前类的对象 public static Singleton getInstance() { return single; }
单例设计模式之-懒汉式
class Singleton { // 1.私有化构造器 private Singleton() { } // 2.内部提供一个当前类的实例 // 3.此实例也必须静态化 private static Singleton single; // 4.提供公共的静态的方法,返回当前类的对象 public static Singleton getInstance() { if(single == null) { single = new Singleton(); } return single; } }
main方法的语法
- 由于Java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是 public。
- 因为Java虚拟机在执行main()方法时不必创建对象,所以该方法必须 是static的
- 该方法接收一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数。
代码块
- 作用:对Java类或对象进行初始化 。
- 区别
- 静态代码块:用static 修饰的代码块
- 可以有输出语句。
- 可以对类的属性、类的声明进行初始化操作。
- 不可以对非静态的属性初始化。
- 不可以调用非静态的属性和方法。
- 若有多个静态的代码块,那么按照从上到下的顺序依次执行。
- 静态代码块的执行要先于非静态代码块。 6. 静态代码块随着类的加载而加载,且只执行一次。
- 非静态代码块:没有static修饰的代码块
- 可以有输出语句。
- 可以对类的属性、类的声明进行初始化操作。
- 除了调用非静态的结构外,还可以调用静态的变量或方法。
- 若有多个非静态的代码块,那么按照从上到下的顺序依次执行。
- 每次创建对象的时候,都会执行一次。且先于构造器执行。
- 静态代码块:用static 修饰的代码块
final关键字
- final标记的类不能被继承。
- final标记的方法不能被子类重写
- final标记的变量(成员变量或局部变量)即称为常量。名称大写。