一:static static: 静态的. 1. 若须要一个类的多个对象共享一个变量,则该变量须要使用 static 修饰. 2. 由于 static 修饰的变量为类的全部的实例所共享,因此 static 成员不属于某个类的实例, 而属于整个类. 因此在访问权限容许的状况下,可使用 "类名." 直接访问静态成员(成员包括属性和方法). 3. 注意: 在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员. 这是由于,对于非静态的方法和变量,须要先建立类的实例对象后才可以使用,而静态方法在使用前不用建立任何对象. 4. 同 3 的道理: 静态方法不能以任何方式引用this和super关键字. 5. 非静态方法中能够直接来访问类的静态成员. 6. main() 方法是静态的,所以JVM在执行main方法时不建立main方法所在的类的实例对象. 7. 静态初始化指对类的静态属性进行初始化. 7.1 不该该在构造器中对静态成员进行初始化: 由于静态成员不因类的实例而改变. 7.2 1 //非静态代码块: 先于构造器执行,每建立一个对象都会执行一次. 2 { 3 System.out.println("非静态代码块"); 4 } 7.3 1 //静态代码块: 使用 static 修饰的代码块 2 //在类被加载时执行一次,且执行一次. 能够在静态代码块中对静态成员变量进行初始化. 3 //先于非静态代码块和构造器执行. 4 static{ 5 System.out.println("静态代码块"); 6 } 8. 所谓类的单态设计模式,就是采起必定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例. 8.1 不能再类的外部经过 new 关键字的方式建立新的实例: 构造器私有化. 8.2 在类的内部建立实例. 8.3 为了让类的外部可以访问到类的内部建立的实例,该实例必须使用 static 修饰. 8.4 不能容许在类的外部修改内部建立的实例的引用. SingleInstance.instance = null; 须要把该属性用 private 修饰. 8.5 为了让外部进行读,添加对应的 get 方法. 设计模式
二:final安全
1. 在Java中声明类、属性和方法时,可以使用关键字final来修饰。 2. final标记的类不能被继承.提升安全性,提升程序的可读性。 3. final标记的成员变量必须在声明的同时或在每一个构造方法中显式赋值,不然编译出错。 4. final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。 5. final标记的方法不能被子类重写,增长安全性。this
三: 接口设计
抽象方法和常量的集合. 实际上接口更是一种规范! 1. 用 interface 来定义。 2. 接口中的全部成员变量都默认是由 public static final 修饰的.在声明变量时必须直接赋值. 常量标识符的书写要求: 字母都大写,多个单词使用 _ 链接. 3. 接口中的全部方法都默认是由public abstract修饰的.接口没有构造方法. 4. 实现接口使用 implements 关键字.若一个类既实现接口,有继承了父类, 须要把 extends 关键字放在前面, 即先继承父类, 后实现多个接口.一个类能够实现多个无关的接口;若实现多个接口,使用,分割. 5. 接口也能够继承另外一个接口,使用extends关键字.对象