第五章:初始化与清理

  前几章怎么看都没发现有什么逻辑顺序,感觉都是相互独立的,在讲述java语言构成的基本单位和规则。这个先放置一边。

  • java中初始化有两层含义,其一是创建,二是赋值。 其本质也就是在内存中开辟一个新的区间,存储数据然后再建立一些引用关系。其中的原理就不能继续猜测了,因为这可能涉及数据结构和IO过程,真的不晓得,但是大致猜测一下这种开辟内存空间的方式可能就一种方式或者说就一个指令,为数不多,所以初始化一个对象的方式就只能调用构造器。起初我以为new关键字才是触发内存分配的关键,可是在一些逻辑上有些不通,比如说映射的方式构建对象并没有new,而且如果new可以分配空间,完全没有必要再创建构造器的概念。唯一说的通的就是构造器有开辟空间的作用,这部分读jvm的时候应该就能确定了。目前先认定构造器创建对象,但还有赋值部分没有做,这就需要后续的添加。先创建对象型,也就是都有哪些成员变量和方法,方法部分应该是完全的,因为存储的代码逻辑都是固定的。重点在成员变量,赋值,便是对成员变量赋值。

     但现实中有一些情况对象在创建的时候就顺带要赋值,比如说学生,不管叫什么名字,他的身份就是学生,这部分应该创建的时候就被赋值。这时候就需要构造器不仅创建对象,还有兼具一些赋值的操作。于是构造器的重载出现的还是顺利成章的。因为构造器名称必须要和类名相同(为了防止混乱),在现有的规则下最好的方式就是通过形参在构造器方法体内完成赋值。这是一种很好用的方式,同一类动作完成得到不同的结果。运用到普通方法中也是理所应当的。

  • 有一些情况还是需要特殊考虑的,比如说需要独立于范围之外的变量作为参照,也就是全局性的变量或者方法,所有对象大家共用的,生命周期跟随类型一样长久。引出static关键字,也就很好理解static在文件读取时一定是先被执行的那个了,毕竟他是类型的。有独立于对象之外自然也就有每个对象之中的this-当前对象的引用。static修饰的变量存放的位置也和普通成员变量不同(静态区域?不敢确定)。

  第五章有些多,明天接着整理清理和初始顺序。

转行小白成长路-java篇的更多相关文章

  1. 转行小白成长路--java基础

    每天都会发一篇,一点一滴,记录在这条路上的足迹.立个flag 2019年3月份至今已近一年,对信息技术有个大概的了解,个人认为对于这门技术更应该从最底层的原理入手,了解计算机演化的历史,从计算机语言到 ...

  2. 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  3. 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  4. linux小白成长之路10————SpringBoot项目部署进阶

    [内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...

  5. 1、Java小白之路前言

    大二一年准备好好学习Java,养成一个良好的习惯写博客,但是由于各种各样的原因,并没有坚持下来.而正好又赶上大三结束,去实习,发现自己的基础还是有些薄弱,所以决定,重新走上这条Java小白之路. 时隔 ...

  6. 1、JAVA的小白之路

    大学的时光过得很快,转眼我已经大二了,在大一时,学习了C\C++,对于语言有一定基础,在未来的道路上,我需要攒足干劲,积累足够的知识和技能,去走上社会. 我的第一任大学班主任告诉我:“作为程序员,你至 ...

  7. 一个IT人的成长路

    毕业四年多了,来深圳三年多了,经历了刚毕业的懵懂少年,成长为现在的成熟稳重青年.职场上,从刚毕业的小白,成长为现在可以成熟应对各种事情的老司机.经历过从初级研发工程师,到中级研发工程师,到高级研发工程 ...

  8. 我的阿里之路+Java面经考点

    我的阿里之路+Java面经考点 时间:2018-03-19 23:03  来源:未知   作者:admin   点击:87次 我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三 ...

  9. [转]有哪些值得关注的技术博客(Java篇)

    有哪些值得关注的技术博客(Java篇)   大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...

随机推荐

  1. 制作ASCII字符动画

    看过Matrix的同学应该还记得,在母舰上一直在计算的电脑屏幕在Neo觉醒的时候,不停的下落的杂乱无章的字符组成了Neo当时所处的场景.其实利用开源和免费的工具,我们可以将现有的视频转换为ASCII字 ...

  2. 视觉slam十四讲ch6曲线拟合 代码注释(笔记版)

    // ceres 版本 1 #include <opencv2/core/core.hpp> #include <ceres/ceres.h> #include <chr ...

  3. https原理总结

    博客搬家: https原理总结 最近在公司项目的服务器上做一些内部接口,要求使用https,于是花时间研究了一波.我们熟知的http在传输时未对数据进行加密,在传输一些敏感信息时存在着不小的安全隐患. ...

  4. POJ_2185_二维KMP

    http://poj.org/problem?id=2185 求最小覆盖矩阵,把KMP扩展到二维,行一次,列一次,取最小覆盖线段相乘即可. #include<iostream> #incl ...

  5. WeChall_Training: Crypto - Caesar I (Crypto, Training)

    As on most challenge sites, there are some beginner cryptos, and often you get started with the good ...

  6. Guava入门使用教程

    Guava入门使用教程 Guava Maven dependency In our examples, we use the following Maven dependency. <depen ...

  7. 春招必问的redis持久化(RDB AOF),你能答上来么?

    春招面试模拟,如同雷同,纯属巧合!!! 面试的大体流程: 第一步:一般会有笔试题,也可能没有.有笔试题就要好好答了,因为会重视笔试结果,为了节约面试官时间,HR可能先会看,不合格直接让你走人了. 第二 ...

  8. 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

  9. 使用递归函数用来输出n个元素的所有子集(数据结构、算法与应用)

    例如,三个元素的集合A = {a,b,c}的所有子集是:空集a,b,c,ab,ac,bc,abc,共八个 分析: 对于集合A中的每个元素,在其子集中都可能存在或者不存在,所以A的子集有23种. 可以设 ...

  10. ELK(V7)部署与架构分析

    1.ELK的背景介绍与应用场景 在项目应用运行的过程中,往往会产生大量的日志,我们往往需要根据日志来定位分析我们的服务器项目运行情况与BUG产生位置.一般情况下直接在日志文件中tailf. grep. ...