5. main javadoc static使用 初始化

①main函数:可以被jvm调用,作为程序入口

定义:public:代表该函数访问权限是最大的

    static :代表着主函数随着类的加载就已经存在

    void:主函数没有具体的返回值

    main:不是关键字,是一个特殊的单词,被JVM识别

(String [] args)函数的参数,参数类型是一个字符串数组


主函数是固定格式的,以便JVM识别

args 接收两种类型:数组,null

jvm在调用main时传入的是new String[0]


②什么时候使用静态static

静态修饰的内容有成员变量和函数


什么时候定义静态变量呢?

当对象的出现共享数据时,该数据被静态所修饰。对象中的持有数据 要定义成非静态存在于堆内存中


什么时候定义静态函数呢?

当功能内部没有访问到非静态数据(对象的持有数据),那么该功能可以定义为静态的


共用功能可独立封装


工具类里定义的多为静态方法(不包含操作特有数据)为了让此类工具类无法建立对象,可把构造函数私有化

默认构造方法权限与所属类一致




③帮助文档javadoc

步骤:

举例:

/**

this is a ...

@author 张三

@version v1.1

@param arr    接收一个int 类型的数组

@return 会返回一个该数组中最大值

*/

可以 javadoc -d c:\myhelp -author -version Array.java查看


④静态代码块

class{

static{

}

}

随着类的加载执行,只执行一次,优先于主方法,用于给类初始化

⑤对象初始化

Person P=new Person();

通过JVM加载class文件到内存

加载static块-----在堆内存开辟内存空间-----默认初始化-----构造初始化----构造方法

具体流程:

-----》

new用到person.class,先找到person.class文件并加载到内存中

执行该类static 块

在堆内存开辟空间,分配内存地址

在堆内存建立对象的特有属性,并默认初始化

对属性显示初始化

对对象进行构造代码块初始化

对构造函数初始化

将内存地址付给栈内存中的p变量。

-----》


⑥对象调用过程


Person P=new Person("zhangsan",20);

p.setName("lisi");





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章