B:当某个方法没有访问该类中的非静态成员,就可以把这个方法定义为静态修饰。
静态的生命周期比较长,所以一般不推荐使用。
(7)静态代码块
A:它只执行一次,它比main还先执行。
B:执行顺序
静态代码块–构造代码块–构造方法
12、制作API(次重点)
API(全拼):Application Program Interface 应用程序编程接口。
(1)类中的内容需要用文档注释。
(2)使用JDK\bin目录下的javadoc工具。
格式:javadoc -d 目录 -author -version ArrayTool.java
13、单例设计模式:
(1)设计模式:
解决某类问题行之有效的方法,是一种思想,是规律的总结
(2)用来保证某个类在内存中只有一个对象
(3)保证唯一性的思想及步骤
**为了避免其他程序建立该类对象,先禁止其他程序建立该类对象,即将构造函数私有化
**为了其他程序访问到该类对象,须在本类中创建一个该类私有对象
**为了方便其他程序访问到该类对象,可对外提供一个公共访问方式
比如API中的Runtime类就是单例设计模式。
(4)单例设计模式的两种方式
A:饿汉式 当类加载的时候,就创建对象。
class Student { private Student(){} private static final Student s = new Student(); public static Student getInstance() { return s; } }
B:懒汉式 当使用的使用,才去创建对象。
class Student { private Student(){} private static final Student s = null; public static Student getInstance() { if(s==null) { //线程1就进来了,线程2就进来了。 s = new Student(); } return s; } }
饿汉式和懒汉式**
是类一加载进内存就创建好了对象;
懒汉式则是类才加载进内存的时候,对象还没有存在,只有调用了getInst