1.final的用法 final表示最终的、不可变的,对于类和方法来说,abstract 和 final 关键字不能同时使用,因为前者是必须要覆盖重写,后者是不能覆盖重写,自相矛盾 (1)可以用来修饰一个类 (2)可以用来修饰一个方法 (3)可以用来修饰一个局部变量 (4)还可以用来修饰一个成员变量 ...
分类:
编程语言 时间:
2020-04-16 14:52:14
阅读次数:
59
MRC下如何重写retain修饰变量的setter方法? @property (nonatomic,retain) id obj; - (void)setObj:(id)obj{//这里为什么要有个对原来对象的判断 其实是非常必要的 假如传入的对象就是原来的对象 执行release的时候 会把原来的 ...
分类:
其他好文 时间:
2020-04-16 13:23:51
阅读次数:
81
先通过一个例子让大家先体会一下类初始化和实例化对象时的一些顺序问题。 上面两个类的成员变量和方法几乎都是一样的,包括成员变量、静态变量(类变量)、静态代码块、构造方法、非静态代码块、成员方法、静态方法等,其中,Son 类继承了 Parent 类,main 启动方法写在子类 Son 中。 注意的是。P ...
分类:
其他好文 时间:
2020-04-15 21:49:40
阅读次数:
119
HashSet 先看一下成员变量 // 由此可见内部存储是一个HashMap private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); public HashSet() { ...
分类:
其他好文 时间:
2020-04-15 18:29:11
阅读次数:
67
一、 static 代表着什么 在 Java 中并不存在全局变量的概念,但是我们可以通过 static 来实现一个“伪全局”的概念,在 Java 中 static 表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。 Java 把内存分为栈内存和堆内存,其中栈内存用来存 ...
分类:
其他好文 时间:
2020-04-15 13:55:01
阅读次数:
57
瞬态关键字 transient关键字:瞬态关键字 被transient修饰的成员变量,不能被序列化 如 private transient int age; static关键字:静态关键字 静态优先于非静态加载到内存中(静态优先于对象进入到内存中) 被static修饰的成员变量同样不能被序列化,序列 ...
分类:
其他好文 时间:
2020-04-14 16:46:01
阅读次数:
208
一、前言 这几天准备研究一下 中阻塞队列的实现。 中的阻塞队列有七种,我准备逐一研究它们的源码,然后每一个阻塞队列写一篇分析博客,这是其中的第一篇。这篇博客就来说一说阻塞队列中我认为应该是最简单的一种—— 。 二、正文 2.1 什么是阻塞队列 在正式分析前,先简单介绍一下什么是阻塞队列。在说阻塞队列 ...
分类:
其他好文 时间:
2020-04-12 07:50:28
阅读次数:
70
在摆实例之前,先搞一些总结上去。。。。 static(静态\修饰符) 1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。 静态成员变量的访问方式: 方式1: 可以使用对象进行访问。 格式: 对象.变量名。 方式二: 可以使用类名进行访问。 格式: ...
分类:
编程语言 时间:
2020-04-06 20:56:52
阅读次数:
86
哪些变量是局部变量? 方法体中定义的 变量 和 方法的 形式参数(方法声明中) 局部变量和成员变量的比较: 1. 在类中定义的位置不同 2. 在内存中的位置不同 局部变量: 存储在,方法对应栈空间的栈帧中的 成员变量: 存储在,堆空间中的对象的存储空间中 3. 生命周期不同 局部变量: 随着栈帧的创 ...
分类:
其他好文 时间:
2020-04-06 20:28:00
阅读次数:
60
ExtensionLoader类分析 成员变量分析 静态成员变量 // 分割value属性值 比如A,B,C分割之后的结果为三个元素A B C // 扩展点(扩展接口)及对应的扩展类加载器缓存 // 扩展类与类初始化之后的实例 实例成员 // 扩展点(其实是扩展接口) // 扩展工厂类, 当对实例进 ...
分类:
其他好文 时间:
2020-04-06 16:02:18
阅读次数:
86