【168天】黑马程序员27天视频学习笔记【Day07】
叨逼叨两句
决定了,我会记住这一天!
07-01:构造方法Constructor概述和格式
构造方法概述和作用
给对象的数据(属性)进行初始化。
构造方法格式特点
- 方法名与类名相同(区分大小写)
- 没有返回值类型,没有void
- 没有具体返回值return;
07-02:构造方法的重载及注意事项
重载
方法名相同,但与返回值类型无关。
构造方法注意事项
建议永远自己给出无参构造方法
07-03:给成员变量赋值的两种方式的区别
- setXXX赋值
- 构造方法赋值
07-(04-05):练习
07-06:创建一个对象的步骤与内存分析(重要!!!)
07-(07-08):练习
07-09:static关键字及内存图(重要!!!)
- 方法区加载类,其中包含静态区
- 该视频值得再看一遍
07-(10-11):static关键字特点及注意事项
特点
- 随着类的加载而加载,优先于对象而存在。
- 被类的所有对象共享【共性用静态,特性用非静态,这就是应用场景】
可以通过类名调用
- 其实它本身也可以通过对象调用,但推荐还是用类名调用
- 静态修饰的内容一般我们称其为:与类相关的,类成员。
注意事项
- 成员变量和成员方法虽然在类加载时被加载进来了,但是它们必须在创建对象后,由对象来调用,不能直接使用(视频中老师用解压缩类比相当nice【07-11视频值得再看一遍】)
静态方法中是没有this关键字的
- 静态属性与方法是随着类的加载而加载,this是随着对象的创建而存在。【成员变量都是用this去调用的,你直接写个num其实等同于写个this.num【详细解释见视频】】
- 静态比对象先存在
静态方法只能访问静态的成员变量和静态的成员方法。
静态方法
- 成员变量:只能访问静态变量。
- 成员方法:只能访问静态成员方法。
非静态方法
- 成员变量:可访问静态变量,也可访问非静态变量。
- 成员方法:可访问静态成员方法,也可访问非静态成员方法
- 简单记:静态只能访问静态
07-12:静态变量与成员变量的区别
所属不同
- 静态变量属于类,也称类变量
- 成员变量属于对象,也称实例变量或对象变量
内存中位置不同
- 静态变量存储在方法区中的静态区
- 成员变量存储于堆内存
内存出现时间不同
- 静态变量随着类的加载而加载,随着类的消失而消失。
- 成员变量随着对象的创建而创建,随着对象的消失而消失。
调用不同
- 静态变量可以通过类名调用,也可以通过对象名调用。
- 成员变量只可以通过对象名调用。
07-13:main方法的格式详解
- public:被JVM调用,所以权限要足够大
- static:被JVM调用,不需要创建对象,直接类名调用即可
- void:被JVM调用,不需要有任何返回值。
- main:只有这样写才能被JVM识别,main不是关键字。
- String[] args:以前是用来接收键盘录入的,args是唯一能改的地方。
String[] args的使用见下图(目前已经不推荐使用了)
![168-4](http://a3.qpic.cn/psb?/V13aP5rZ2U5DOS/BbbTiITUu9lip7ft96DAhWbpvM*OwEeNTqYwz9i3iac!/b/dAEBAAAAAAAA&bo=KAOAAgAAAAADAIw!&rf=viewer_4)
07-14:工具类中使用静态
如果一个类里面所有方法都是静态方法,那么你一定要多做一步,将其构造方法私有化(即加private修饰符)。
07-15:API文档制作
- 说明书不会体现私有修饰符修饰的内容
制作步骤
- 加文档注释
通过javadoc命令生成说明书
- @author(提取作者内容)
- @version(提取版本内容)
- javadoc -d 指定的文件目录 -author -version ArrayTool.java
- @param 参数名称//形式参数的变量名称@Return 函数运行完返回的数据。
07-16:查看JDK的API文档
07-17:Math类的随机数
07-18:练习