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

叨逼叨两句

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

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

构造方法概述和作用

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

构造方法格式特点

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

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

重载

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

构造方法注意事项

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

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

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

07-(04-05):练习

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

07-(07-08):练习

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

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

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类的随机数

07-18:练习

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

  1. 【176天】黑马程序员27天视频学习笔记【Day11-上】

    叨逼叨两句 正式结束了,之后就是收尾工作. 今天想休息一下,任务就不做满了. 未来定个标准,事不过三,一天的任务,最多分三天完成,超过要罚分. 11-(01-04):Eclipse使用方法 程序的编译 ...

  2. 【186天】黑马程序员27天视频学习笔记【Day15-上】

    叨逼叨两句 今天和朋友聊了聊,感觉真的很好,人还是得多跟别人交流,才能发现自己一些观念和理论上的漏洞. 今天帮了大家一个忙,总算要接近尾声了,开心啊. 我要准备去做一件伟大的事! 很高兴姐姐迈开了这一 ...

  3. 【208天】黑马程序员27天视频学习笔记【Day21-中】

    叨逼叨两句 今天又了结一件事,好累,好爽. 这几天在哥们家玩,更新内容不会断,但会相对少些了. 21-09:将文本反转 流对象要尽量晚开早关 package com.test.demo001;impo ...

  4. 【201天】黑马程序员27天视频学习笔记【Day18复习脑图】

    叨逼叨两句 Day17看完了,OK~ 下午把其它琐事搞完~ Day18脑图

  5. 【198天】黑马程序员27天视频学习笔记【Day13-14复习脑图】

    叨逼叨两句 快点搞定这堆破事吧.总让我分心.. Day13脑图 Day14脑图

  6. 【199天】黑马程序员27天视频学习笔记【Day15-16复习脑图】

    叨逼叨两句 原来,我最想要的,其实是自由 规避风险是本能,买卖风险是智能 Day15脑图 Day16脑图

  7. 【218天】黑马程序员27天视频学习笔记【Day20-21复习脑图】

    叨叨两句 不要追求完美,不断改进. 运用好大脑外挂 Day20脑图 Day21脑图

  8. 哔哩哔哩黑马程序员C++课程个人学习笔记

    写在前面:此博文仅作为个人c++学习笔记,或有错误不建议参考!!! 视频链接:黑马程序员c++教程从0到1 目录 一.第一部分c++基础 1.1 c++初识 1.1.1 hello world 1.1 ...

  9. 【C++】黑马程序员-C++核心编程学习笔记

    前言 根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode. 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C ...

最新文章

  1. 小目标检测的增强算法
  2. catia直线测距怎么调出来_为户外远程测距而生
  3. 皮猜按下谷歌招聘暂停键,疫情之下,「紧日子」来了
  4. 开课吧python好吗-Python是个什么鬼?求职为何这么难
  5. C++ 中的 IO流
  6. 为什么有时打不开爬取到的图片
  7. LeetCode每日一题 143. 重排链表
  8. Python 面向对象 --- 文件
  9. mysql case when then 函数_MySQL case when then 语句使用和时间函数使用
  10. 提权命令_利用Linux文本操作命令ed进行提权
  11. Centos linux php扩展安装步骤
  12. Java dom序列化字符串,java – 如何在序列化之前从DOM中剥离仅空白的文本节点?...
  13. windows 7 安装 db2 v11.1 下载 安装教程
  14. 宏杉MacroSAN MS3000G2 SPC-1测试性价比第一
  15. java汉字的编码_Java中文编码问题小结
  16. 【大数据】大数据技术框架,有这一篇文章就够了
  17. folder汇总字段的实现
  18. [Bug] Spring相关bug收集
  19. 洛谷 P1878 舞蹈课 —— 小顶堆
  20. Rails部署云环境配置(Passenger+Apache)

热门文章

  1. Ubuntu 12.04 如何切换回英文
  2. react实战项目_React实战之React+Redux实现一个天气预报小项目
  3. 20万数据 sql 快还是 java快?_H2数据库学习(一)
  4. 高端android手机,高端机型很难选择?这几款手机就很不错,你肯定有中意的
  5. rf调用的python函数报错_Robot Framework(15)- 扩展关键字
  6. oracle01507报错,oracle报错ORA-01507
  7. c语言的运算答案,C语言运算符与表达式的练习题答案.doc
  8. linux lamp架构部署,Centos7部署LAMP平台之架构之路
  9. Liferay 用PortletSession 实现不同Liferay之间通讯
  10. 年薪50W+!懂这个的程序员就这么豪横!