java毕向东学习笔记——day06

来源:互联网 发布:安卓禁网软件 编辑:程序博客网 时间:2024/06/10 00:31

1.static 关键字

static 是一个修饰符,用来修饰成员变量和成员函数;
static 修饰的成员变量称为静态成员变量 / 类变量 ;
普通的成员变量在创建对象时建立,存储在堆中,生命周期与对象相同;
而static 修饰的成员变量,在类加载时加载,存储在方法区 / 共享区, 生命周期与类相同;
此外一般的方法也存储在方法区;

static 修饰的成员变量,是为了节省空间,为所有对象所共享的静态成员变量;

2.main

main方法完整写法为 public static void main(String[] args)
main方法可以在main方法中调用(但开发中没人这么干。。)
main方法在加载时的情况是这样的:
javac MainDemo.java         // 先编译
java MainDemo          // 此时由java虚拟机,就是JVM 读取String[]中的元素,一开始arg.length == 0
可以这样做 java MainDemo hehe haha 
这样args.length == 2

3.制作帮助文档

/**
@author 礼颂
@version V2.0
@param 方法的参数
@return  方法的返回值
*/
dos命令行界面生成时:javadoc  -d  myhelp  -version  -author

4.静态代码块

类加载时的执行顺序:静态代码块>代码块>构造方法
创建一个对象时的执行顺序:
1.找到对应类,加载到内存当中;
2.加载静态代码块,进行初始化;
3.在堆中开辟空间,并分配内存地址;
4.对对象进行默认初始化;
5.对对象进行显式初始化;
6.进行代码块初始化;
7.构造方法初始化;
8.将内存地址赋值给对象对应的变量。

5.单例设计模式

用于一个类内存中只存在一个对象的情况
懒汉式:
class Person{
private Person(){};
private static Person p = new Person();
public static Person getPerson(){
return p;
}
}
饿汉式:
class Person{
private Person();
private static Person p = null;
public static Person getPerson{
if (p == null)
p = new Person();
return p;
}
}
原创粉丝点击