【168天】黑马程序员27天视频学习笔记【Day07】

ellende 2019-06-21

【168天】黑马程序员27天视频学习笔记【Day07】

叨逼叨两句

决定了,我会记住这一天!

07-01:构造方法Constructor概述和格式

构造方法概述和作用

给对象的数据(属性)进行初始化。

构造方法格式特点

  1. 方法名与类名相同(区分大小写)
  2. 没有返回值类型,没有void
  3. 没有具体返回值return;

07-02:构造方法的重载及注意事项

重载

方法名相同,但与返回值类型无关。

构造方法注意事项

建议永远自己给出无参构造方法

07-03:给成员变量赋值的两种方式的区别

  1. setXXX赋值
  2. 构造方法赋值

【168天】黑马程序员27天视频学习笔记【Day07】

07-(04-05):练习

07-06:创建一个对象的步骤与内存分析(重要!!!)

【168天】黑马程序员27天视频学习笔记【Day07】

07-(07-08):练习

07-09:static关键字及内存图(重要!!!)

  1. 方法区加载类,其中包含静态区
  2. 该视频值得再看一遍

【168天】黑马程序员27天视频学习笔记【Day07】

07-(10-11):static关键字特点及注意事项

特点

  1. 随着类的加载而加载,优先于对象而存在。
  2. 被类的所有对象共享【共性用静态,特性用非静态,这就是应用场景】
  3. 可以通过类名调用

    • 其实它本身也可以通过对象调用,但推荐还是用类名调用
    • 静态修饰的内容一般我们称其为:与类相关的,类成员。

注意事项

  1. 成员变量和成员方法虽然在类加载时被加载进来了,但是它们必须在创建对象后,由对象来调用,不能直接使用(视频中老师用解压缩类比相当nice【07-11视频值得再看一遍】)
  2. 静态方法中是没有this关键字的

    1. 静态属性与方法是随着类的加载而加载,this是随着对象的创建而存在。【成员变量都是用this去调用的,你直接写个num其实等同于写个this.num【详细解释见视频】】
    2. 静态比对象先存在
  3. 静态方法只能访问静态的成员变量和静态的成员方法。

    1. 静态方法

      1. 成员变量:只能访问静态变量。
      2. 成员方法:只能访问静态成员方法。
    2. 非静态方法

      1. 成员变量:可访问静态变量,也可访问非静态变量。
      2. 成员方法:可访问静态成员方法,也可访问非静态成员方法
    3. 简单记:静态只能访问静态

07-12:静态变量与成员变量的区别

  1. 所属不同

    1. 静态变量属于类,也称类变量
    2. 成员变量属于对象,也称实例变量或对象变量
  2. 内存中位置不同

    1. 静态变量存储在方法区中的静态区
    2. 成员变量存储于堆内存
  3. 内存出现时间不同

    1. 静态变量随着类的加载而加载,随着类的消失而消失。
    2. 成员变量随着对象的创建而创建,随着对象的消失而消失。
  4. 调用不同

    1. 静态变量可以通过类名调用,也可以通过对象名调用。
    2. 成员变量只可以通过对象名调用。

07-13:main方法的格式详解

  1. public:被JVM调用,所以权限要足够大
  2. static:被JVM调用,不需要创建对象,直接类名调用即可
  3. void:被JVM调用,不需要有任何返回值。
  4. main:只有这样写才能被JVM识别,main不是关键字。
  5. String[] args:以前是用来接收键盘录入的,args是唯一能改的地方。
  6. 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文档制作

  1. 说明书不会体现私有修饰符修饰的内容
  2. 制作步骤

    1. 加文档注释
    2. 通过javadoc命令生成说明书

      • @author(提取作者内容)
      • @version(提取版本内容)
      • javadoc -d 指定的文件目录 -author -version ArrayTool.java
      • @param 参数名称//形式参数的变量名称@Return 函数运行完返回的数据。

07-16:查看JDK的API文档

07-17:Math类的随机数

【168天】黑马程序员27天视频学习笔记【Day07】

07-18:练习

【168天】黑马程序员27天视频学习笔记【Day07】

相关推荐