制作程序文档_主函数_静态代码块_对象的初始化过程_对象调用成员过程

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

【工具类说明书】

制作程序文档(API):【这叫程序的说明文档或程序的帮助文档,也称为API文档】

接下来,将ArrayTool.class文件发送给其他人,其他人只要将该文件设置到classpath路径下,就可以使用该工具类。
但是,很遗憾,该类中到底定义了多少个方法,对方去不清楚。因为该类并没有使用说明书。
开始制作程序的说明书。java的说明书通过文档注释来完成。
jdk升级到新版本之后发现有问题了,要恢复到老版去让人能用,把问题改掉在升级
以ArrayTool类来制作些类的说明书
制作说明书格式: 文档注释有那些识别符及关键字
1,类前用文档注释
2,凡是public的修饰符都有文档注释描述,因为都可以被文档注释工具所提取
3, 注意:ArrayTool.java类必须是public修饰的(public class ArrayTool)
4,只有两个修饰会被文档注释工具提取,public protected
dos下:
//javac ArrayTool.java 先编辑
javadoc -d myhelp -author -version ArrayTool.java //-d(当前目录)表示指定目录,myhelp没有这个文件夹会自动创建一个
//-author -version 表示文档说明书要作者和版本,也可以不写
或javadoc -dc:\myhelp -author -version ArrayTool.java
注意:ArrayTool.class和myhelp文件夹在同一目录里
查看myhelp文件夹下的内容index.html(索引页面);这叫程序的说明文档或程序的帮助文档,也称为API文档
一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。
如果类被public修饰,那么默认的构造函数也带public修饰符。
如果类没有被public修饰,那么默认的构造函数,也没有public修饰。
默认构造构造函数的权限是随着的类的变化而变化的。
class Demo
{
Demo(){}//这不是默认构造函数,这是自定义的,你写了自定义的,默认的就没了,默认的是看不见的
}
【主函数】
主函数:是一个特殊的函数。作为程序的入口,可以被jvm调用。
主函数的定义:
public:代表着该函数访问权限是最大的。
static:代表主函数随着类的加载就已经存在了。
void:  主函数没有具体的返回值。
main:  不是关键字,但是是一个特殊的单词,可以被jvm识别。
(String[] arr):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
argaments System.out.println(arr);hash值,内存地址值

javac是启动编译器,java是启动底层的jvm,java a:jvm调用类a,如果类a有参数(java a hh bb),参数以空格分开,
jvm会自动的将之后的参数自动的存入到数组当中
主函数main试验:
dos:  java TestMain aa bb cc  以空格分隔
但凡用到了类中内容或创建对象的时候,类才被加载
【静态代码块】
格式:
static
{
静态代码块中的执行语句。
}
特点: 静态代码块随着类的加载而执行,只执行一次,并优先于主函数。
而其它的都有名子被调用才执行
用于给类进行初始化的。
例:
class StaticCode
{
static
{
System.out.println("a");

}

}

class StaticCodeDemo

{

static
{
System.out.println("b");
}
public static void main(String[] args) 
{
new StaticCode();
new StaticCode();
}
static
{
System.out.println("c");
}
}
//d:\>java0217\day06>java StaticCodeDemo
//b c a over
【对象的初始化过程】
Person p = new Person("zhangsan",20);
该句话都做了什么事情?
1,因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。
2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。
3,在堆内存中开辟空间,分配内存地址。
4,在堆内存中建立对象的特有属性。并进行默认初始化。
5,对属性进行显示初始化。
6,对对象进行构造代码块初始化。
7,对对象进行对应的构造函数初始化。
8,将内存地址赋给栈内存中的p变量。
【对象调用成员过程】
null  对象,引用对象的时候用
成员变量在堆内存中; 静态变量在方法区中
数据共享的用静态, 数据固定的用常量
方法区存放类,静态变量,静态方法及其它方法等代码
非静态调用前面省略this.;  静态调用前面省略类名.;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值