NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出NoClassDefFoundError错误。这个错误发 ...
分类:
其他好文 时间:
2018-05-08 14:36:24
阅读次数:
149
static { //... } 1、静态代码块不能存在于方法内并且只会被执行一次 2、当静态代码块位于主方法所在的类时,在程序主方法运行之前就执行该静态代码块 3、当静态代码块位于不是主方法所在的类时,当主方法调用该类的静态成员或者创建该类的对象时,就会执行该静态代码块,并且优先于当前调用语句或者 ...
分类:
其他好文 时间:
2018-04-30 14:29:33
阅读次数:
100
1、在类实例被初始化的时候执行 2、在类的静态成员被调用的时候执行 3、静态构造函数只会被执行一次,代码如下: 说明静态构造函数只执行了一次,并将该实例初始化到了内存中.所以结果会显示成累加的情况 ...
变量模板。是函数模板,类型模板,别名模板之后,另一种模板。类S的静态成员变量S::var<int>的类型是const int 注意,V.T.只能定义在名字空间中,如下是错误的,因为那里不是名字空间: 而如下是正确的: 这里是全局名字空间,因此也是符合“定义在名字空间里”。 参考:http://en. ...
分类:
编程语言 时间:
2018-03-29 19:10:08
阅读次数:
201
除了内部类之外,类一般不能具有静态属性。 如下定义了一个外部类Static_test和一个内部静态类Static_class: 输出: 调用外部类及内部类的静态成员时,只能使用 [类名.成员名] 或 [成员名] 的方式调用,无法使用对象来调用静态成员。 静态成员归类所有,所有实例对象调用的静态成员都 ...
分类:
编程语言 时间:
2018-02-01 23:09:00
阅读次数:
189
File类可以对操作系统中的文件进行操作: File类的静态成员变量: File类的构造方法: File类的功能: 创建和删除: 获取功能: 判断功能: 遍历目录获取(list获取): 利用递归遍历一个目录下所有文件: 文件过滤器: 在遍历目录的时候,可以根据需要,只获取满足条件的文件 ...
分类:
编程语言 时间:
2018-01-15 11:09:20
阅读次数:
157
1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 先看一段代码,假如线 ...
分类:
其他好文 时间:
2018-01-12 11:29:30
阅读次数:
303
声明静态成员: 通过再成员之前加上关键字 static 使得其与类关联在一起。和其他成员一样,静态成员可以是 public 的或 private 的。静态数据成员的类型可以是常量,引用,指针,类类型等。 我们定义一个类,用来表示银行的账户记录: 类的静态成员存在于任何对象之外,对象中不包含任何与静态 ...
分类:
其他好文 时间:
2018-01-06 22:04:39
阅读次数:
148
在C++类中可以定义静态成员变量(使用static声明) 1、静态成员变量属于整个类所有 2、静态成员变量的生命期不依赖任何对象 3、可以通过类名直接访问静态成员变量(设置成public),也可以通过对象名访问 4、所有对象共享类的静态成员变量 ps:静态成员变量需要在类外单独分配空间;静态变量处于 ...
分类:
其他好文 时间:
2018-01-04 00:33:47
阅读次数:
182
使用volatile修饰符修饰共享变量(类的成员变量或者类的静态成员变量)会产生两个效果: 1:保证了不同线程对这个变量操作的可见性,即:一个线程修改了这个变量的值,修改结果对其他线程是立即可见的; 2:禁止指令重排序; 使用volatile关键字,会强制性的将修改的值立即写入主存;当线程2进行修改 ...
分类:
其他好文 时间:
2017-12-27 12:02:46
阅读次数:
144