1.初始化块

实际上初始化块是一个假象,使用javac命令编译Java类后,该Java类中的初始化块会消失——初始化块中代码会被 “还原” 到每一个构造器中,且位于构造器全部代码的前面。

2.p125-p128   自己主动装箱,自己主动拆箱不太懂


3.包装类


4.单例类

实例:

//提供一个静态方法。用于返回Singleton实例
//该方法能够增加自己定义控制。保证仅仅产生一个singleton对象
public static Singleton getInstance() {  //假设instance为null。则表明还不曾创建Singleton对象  //假设instance不为null。则表明已经创建了Singleton对象  //将不会又一次创建新的实例  if (instance == null)  {  //创建一个Singleton对象。并将其缓存起来  instance = new Singleton ();  }  return instance;
}   

5.final修饰基本类型变量和引用类型变量的差别

当使用final修饰基本类型变量时。不能对基本类型变量又一次赋值。因此基本类型变量不能被改变,但对于引用类型变量而言,它保存的不过一个引用,final只保证这个引用类型变量所引用的地址不会发生改变,即一直引用同一个对象,但这个对象全然能够发生改变。

6.可运行“宏替换”的final变量

对于一个final变量来说。无论它是类变量、实例变量,还是局部变量。仅仅要该变量满足三个条件,这个final变量就不再是一个变量,而是相当于一个直接量。

  • 使用final修饰符修饰
  • 在定义该final变量时指定了初始值
  • 该初始值能够在编译时就被确定下来
final修饰符的一个重要用途就是定义“宏变量”。当定义final变量时就为该变量指定了初始值。并且该初始值能够在编译时就确定下来,那么这个final变量本质上就是一个“宏变量”。编译器会把程序中全部用到该变量的地方直接替换成该变量的值。
Java会使用常量池来管理以前用过的字符串直接量,比如运行String a = "java";语句之后,常量池中就会缓存一个字符串“java”;假设程序再次运行String b = "java";。系统就会让b直接指向常量池中的“java”,因此a == b 就会返回true。
7.内部类
非静态内部类的子类不一定是内部类。它能够是一个外部类。但非静态内部类的子类实例一样须要保留一个引用,该引用指向其父类所在外部类的对象。也就是说,假设有一个内部类子类的对象存在,则一定存在与之相应的外部类对象。
8.effectively final






读《疯狂Java讲义》笔记总结三相关推荐

  1. 《疯狂Java讲义》(三十)---- Annotation

    限定重写父类方法:@Override 作用是告诉编译器检查这个方法,保证父类要包含一个被该方法重写的方法,否则就会编译出错. 标记已过时:@Deprecated 用于表示某个程序元素(类或方法)已过时 ...

  2. 疯狂java讲义(第三版-李刚) 源代码 光盘

    蓝奏云直接下载(推荐) 蓝奏云扫码下载

  3. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  4. 《疯狂Java讲义精粹》读书笔记2 ------ 多态

    -----------------<疯狂Java讲义精粹>2读书笔记--------------- Java引用变量有两个类型: · 编译时类型(由声明该变量时使用的类型决定) · 运行时 ...

  5. 《疯狂Java讲义》读书笔记5

    目录 Java的集合类 Inerator 接口 Set 集合 HashSet 类 LinkedHashSet 类 TreeSet 类 EnumSet 类 List 集合 ArrayList 和 Vec ...

  6. 《疯狂JAVA讲义》学习笔记(一)

    本人之前一直从事iOS开发,最近开始接触Eclipse插件开发,打算先重拾一下扔了很久的Java.看到大家都在网上推荐李刚的<疯狂JAVA讲义>,于是下了一本开始学习.以下为前七章本人记录 ...

  7. 《疯狂Java讲义》学习笔记 第六章 面向对象(下续)

    这里## 6.6 Java 9改进的接口 6.6.1 接口的概念 6.6.2 Java 9中接口的定义 6.6.3接口的继承 ==以下代码中纯在自己的很多错误== 6.6.4使用接口 6.6.5接口和 ...

  8. 疯狂Java学习笔记(69)---------Lock

    疯狂Java学习笔记(69)---------Lock Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java ...

  9. [疯狂Java讲义精粹] 第十三章|类加载机制与反射

    java.lang.reflect包下的接口和类, 包括Class, Method, Filed,Constructor和Array等, 这些类分别代表类, 方法, Field, 构造器和数组, Ja ...

  10. 疯狂Java讲义(六)----第四部分

    1.枚举类 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象;再比如行星类,目前只有8个对象.这种实例有限而且固定的类,在Java里被称为枚举类. 在早期代码中,可能会直接使用简 ...

最新文章

  1. gridView 多余字符显示省略号...
  2. PIC模拟从入门到熟练系列之组会PPT20210913《Note of PIC》
  3. CI框架源码阅读笔记4 引导文件CodeIgniter.php
  4. linux cna12.dll,攻击 MySQL 服务器传播 GandCrab 勒索软件
  5. 【Level 08】U08 Positive Attitude L4 News flash
  6. 经典同步问题二——哲学家进餐问题
  7. matlab2c使用c++实现matlab函数系列教程-conv函数
  8. 图片处理view - 成图,
  9. 看拉扎维《模拟CMOS集成电路设计》的一些总结和思考(六)——放大器的频率特性
  10. linux tar 打包排除指定目录
  11. php时间戳转换成日期格式,PHP时间戳和日期格式相互转换
  12. colmak键盘_萌神进化 IKBC 新POKER2机械键盘体验
  13. 第一章:计算机网络概述
  14. 《前沿科技·吴军讲5G》思维导图详细解析
  15. 如何算计算机主机地址,ip地址怎么算子网掩码_根据ip地址算子网掩码
  16. 《幽途无人葬》游戏指南
  17. MIMO检测之ZF,MMSE,ML算法matlab代码
  18. 深入学习理解java虚拟机--1.win10 下构建64位 openJDK8
  19. UGUI源码分析:开关组件Toggle与ToggleGroup
  20. 题目98-3:围成一圈数三报数且出列——假设有10个人围成一圈,从1开始报数,数到3的人,让他出列,下一个人重新从1开始报数,数到3的人,让他出列……以此类推,把依次出列的9个人的编号打印出来

热门文章

  1. 【COGS 1873】 [国家集训队2011]happiness(吴确) 最小割
  2. 基于 opencv图像去噪
  3. 07.用户控件弹窗提示后页面显示不正常;
  4. Python连接MySQL的实例代码
  5. 3.3 keras模型构建的三种方式
  6. 数据结构上机实践第10周项目1 - 二叉树算法验证
  7. Deep3DBox论文解读
  8. python函数参数值_python 函数参数
  9. python文件是否存在_Python判断文件是否存在的三种方法
  10. html textarea粘贴事件,javascript在textarea中捕获粘贴事件